onError method
- DioException err,
- ErrorInterceptorHandler handler
override
Called when an exception was occurred during the request.
Implementation
@override
void onError(DioException err, ErrorInterceptorHandler handler) async {
final request = err.requestOptions;
final startTime = request.extra['startTime'] as DateTime?;
final timestamp = startTime ?? DateTime.now();
final log = SimpleOverlayNetworkLog(
timestamp: timestamp,
tag: request.path,
method: request.method,
url: request.uri.toString(),
requestHeaders: Map<String, String>.from(
request.headers.map((k, v) => MapEntry(k, v.toString()))),
requestBody: request.data.toString(),
statusCode: err.response?.statusCode,
responseHeaders:
err.response?.headers.map.map((k, v) => MapEntry(k, v.join(','))),
responseBody: err.response?.data.toString(),
isSuccess: false,
);
await _storageService.addNetworkLog(log);
handler.next(err);
}