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 start = _readStart(err.requestOptions);
  _record(
    method: err.requestOptions.method,
    url: err.requestOptions.uri.toString(),
    statusCode: err.response?.statusCode,
    start: start,
    requestHeaders: _flattenHeaders(err.requestOptions.headers),
    responseHeaders:
        err.response == null ? null : _flattenHeaders(err.response!.headers.map),
    requestBodyRaw: err.requestOptions.data?.toString(),
    responseBodyRaw: err.response?.data?.toString(),
    error: err.message ?? err.type.name,
  );
  handler.next(err);
}