onResponse method

  1. @override
void onResponse(
  1. Response response,
  2. ResponseInterceptorHandler handler
)

Called when the response is about to be resolved.

Implementation

@override
void onResponse(Response response, ResponseInterceptorHandler handler) {
  final String? id = response.requestOptions.extra[kDsiRequestIdExtraKey] as String?;
  if (id == null) {
    super.onResponse(response, handler);
    return;
  }
  final CurlModel? curlModel = CurlLogs.instance.getById(id);
  if (curlModel != null) {
    try {
      final CurlModel updatedCurlModel = curlModel.copyWith(
        status: response.statusCode,
        response: response.data,
        responseSize: Utils.estimateSize(response.data),
      );
      CurlLogs.instance.replace(replace: curlModel, save: updatedCurlModel);
    } catch (e) {
      debugPrint('DioshakerInterceptor error: $e');
    }
  }
  super.onResponse(response, handler);
}