onError method
Called when an exception was occurred during the request.
Implementation
@override
void onError(DioException err, ErrorInterceptorHandler handler) {
final startTime = err.requestOptions.extra['start_time'];
final log = logger.logs.firstWhere(
(l) => l.time == startTime,
orElse: () => LoggedRequest(
method: err.requestOptions.method,
path: err.requestOptions.uri.toString(),
headers: {},
requestBody: null,
time: DateTime.now(),
),
);
log.statusCode = err.response?.statusCode ?? -1;
log.responseBody = err.response?.data ?? err.message;
log.duration = DateTime.now().difference(log.time);
NotificationHelper.show(
"${log.method} ${log.statusCode} (Error)", log.path, Constants.logs);
super.onError(err, handler);
}