onError method
Called when an exception was occurred during the request.
Implementation
@override
void onError(DioError err, ErrorInterceptorHandler handler) {
final GleapNetworkLog gleapNetworkLog = GleapNetworkLog(
type: () {
try {
return err.requestOptions.method.toUpperCase();
} catch (_) {
return null;
}
}(),
url: () {
try {
return err.requestOptions.path;
} catch (_) {
return null;
}
}(),
date: DateTime.now(),
request: GleapNetworkRequest(
headers: () {
try {
return _prepareMap(map: err.requestOptions.headers);
} catch (_) {
return null;
}
}(),
payload: () {
try {
return err.requestOptions.data;
} catch (_) {
return '';
}
}(),
),
response: GleapNetworkResponse(
status: () {
try {
return err.response?.statusCode;
} catch (_) {
return null;
}
}(),
statusText: () {
try {
return err.response?.statusMessage;
} catch (_) {
return null;
}
}(),
responseText: () {
try {
return NetworkResponseTypeHelper.getType(data: err.response?.data);
} catch (_) {
return null;
}
}(),
),
success: false,
);
_updateNetworkLogs(gleapNetworkLog);
handler.next(err);
}