onError method
Logs network-level errors (e.g. connection refused, timeout) at
'error' level, then forwards the error to the next handler.
Note: HTTP 4xx/5xx responses are handled by Connector.send and never
reach this method because Dio is configured with
validateStatus: (_) => true.
Implementation
@override
void onError(DioException err, ErrorInterceptorHandler handler) {
final buffer = StringBuffer();
buffer.writeln('ERROR');
buffer.writeln('${err.requestOptions.method} ${err.requestOptions.uri}');
buffer.writeln('Type: ${err.type}');
buffer.writeln('Message: ${err.message}');
if (err.response != null) {
buffer.writeln('Status: ${err.response!.statusCode}');
buffer.writeln('Data: ${err.response!.data}');
}
onLog(
message: buffer.toString(),
level: 'error',
context: 'Lucky',
);
super.onError(err, handler);
}