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) {
  final startTime =
      err.requestOptions.extra['devLoggerStartTime'] as DateTime?;
  final endTime = DateTime.now();
  final duration = startTime != null ? endTime.difference(startTime) : null;

  _logApiResponse(
    heading: '[${err.requestOptions.method}] ${err.requestOptions.uri}',
    content: err.message ?? 'Error',
    method: err.requestOptions.method,
    url: err.requestOptions.uri.toString(),
    headers: err.requestOptions.headers,
    body: err.requestOptions.data,
    statusCode: err.response?.statusCode,
    timings: duration,
  );

  super.onError(err, handler);
}