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 urlAndQueryParMapEntry = _extractUrl(err.requestOptions);
  final url = urlAndQueryParMapEntry.key;
  final queryParameters = urlAndQueryParMapEntry.value;
  InspectorController().addNewRequest(
    RequestDetails(
      requestMethod: RequestMethod.values
          .firstWhere((e) => e.name == err.requestOptions.method),
      url: url,
      headers: err.requestOptions.headers,
      queryParameters: queryParameters,
      requestBody: err.requestOptions.data,
      responseBody: err.message,
      sentTime: err.requestOptions.extra['startTime'],
      receivedTime: DateTime.now(),
    ),
  );
  super.onError(err, handler);
}