manageDioError method

  1. @override
ErrorResponse manageDioError(
  1. DioError e,
  2. StackTrace stacktrace, {
  3. dynamic decoder(
    1. dynamic
    )?,
})
override

Implementation

@override
ErrorResponse manageDioError(
  DioError e,
  StackTrace stacktrace, {
  dynamic Function(dynamic)? decoder,
}) {
  if (e.response?.data != null && decoder != null) {
    try {
      dynamic res = decoder(e.response?.data);
      if (res is ApiResponse) {
        return ErrorResponse(e.response?.statusCode ?? 999, res.message ?? '',
            res.body.errorCode ?? "");
      }
    } catch (_) {
      return ErrorResponse(e.response?.statusCode ?? 999,
          e.response?.statusMessage ?? e.message, "");
    }
  }

  return ErrorResponse(e.response?.statusCode ?? 999,
      e.response?.statusMessage ?? e.message, "");
}