toResponseError method
Converts a DioError
to a ResponseError
de
: TheDioError
context
: The optional context of the errortarget
: The optional target of the error
Used to create a consistent response when there is a internal error in the Dio
client
Implementation
ResponseError toResponseError(DioError de,
{String? context, String? target}) {
if (de.type == DioErrorType.connectTimeout ||
de.type == DioErrorType.sendTimeout ||
de.type == DioErrorType.receiveTimeout) {
return ResponseError.backendTimeout(
message: de.message, context: context, target: target);
} else if (de.type == DioErrorType.response) {
var statusCode = de.response?.statusCode;
if (statusCode == 404 || de.error == 'Http status error [404]') {
return ResponseError.notFound(
message: de.message, context: context, target: target);
} else {
return ResponseError.backendStatus(
message: de.message, context: context, target: target);
}
} else if (de.type == DioErrorType.cancel) {
return ResponseError.aborted(
message: de.message, context: context, target: target);
}
return ResponseError.unknown(
message: de.message, context: context, target: target);
}