createErrorEntity function
Implementation
ErrorEntity createErrorEntity(DioError error) {
switch (error.type) {
case DioErrorType.cancel:
return ErrorEntity(code: -1, message: 'Request cancellation');
case DioErrorType.connectTimeout:
return ErrorEntity(code: -1, message: 'Connection timed out');
case DioErrorType.sendTimeout:
return ErrorEntity(code: -1, message: 'Request timed out');
case DioErrorType.receiveTimeout:
return ErrorEntity(code: -1, message: 'Response timeout');
case DioErrorType.response:
try {
var errCode = error.response?.statusCode;
if (errCode == null) {
return ErrorEntity(code: -2, message: error.message);
}
switch (errCode) {
case 400:
return ErrorEntity(code: errCode, message: 'Bad Request');
case 401:
return ErrorEntity(code: errCode, message: 'Unauthorized');
case 403:
return ErrorEntity(code: errCode, message: 'Forbidden');
case 404:
return ErrorEntity(code: errCode, message: 'Not Found');
case 405:
return ErrorEntity(code: errCode, message: 'Method Not Allowed');
case 500:
return ErrorEntity(code: errCode, message: 'Internal Server Error');
case 502:
return ErrorEntity(code: errCode, message: 'Bad Gateway');
case 503:
return ErrorEntity(code: errCode, message: 'Service Unavailable');
case 505:
return ErrorEntity(code: errCode, message: 'HTTP Not Supported');
default:
return ErrorEntity(
code: errCode,
message: error.response?.statusMessage ?? '',
);
}
} on Exception catch (error) {
return ErrorEntity(code: -1, message: error.toString());
}
default:
return ErrorEntity(code: -1, message: error.message);
}
}