onError method

  1. @override
void onError(
  1. DioException err,
  2. ErrorInterceptorHandler handler
)

Called when an exception was occurred during the request.

Implementation

@override
void onError(DioException err, ErrorInterceptorHandler handler) {
  if (err.response != null) {
    final curlModel = CurlLogs.instance.getCurlModelByUri(
      err.requestOptions.uri,
    );
    if (curlModel != null) {
      try {
        final updatedCurlModel = curlModel.copyWith(
          status: err.response?.statusCode,
          response: err.response?.data,
        );
        CurlLogs.instance.replace(
          replace: curlModel,
          save: updatedCurlModel,
        );
      } catch (e) {
        debugPrint("DioshakerInterceptor error: $e");
      }
    }
  }
  super.onError(err, handler);
}