create static method
Implementation
static ApiError create(dynamic error, {int? statusCode, String? message}) {
final code = statusCode ?? _extractStatusCode(error);
final msg =
message ?? _extractErrorMessage(error) ?? 'Unknown error occurred';
if (code == null) {
return NetworkError(msg, rawError: error);
}
if (code >= 500) {
return ServerError(msg, statusCode: code, rawError: error);
} else if (code == 401 || code == 403) {
return AuthenticationError(msg, statusCode: code, rawError: error);
} else if (code >= 400 && code < 500) {
return ClientError(msg, statusCode: code, rawError: error);
} else {
return UnknownApiError(msg, statusCode: code, rawError: error);
}
}