dioErrorToCustomHttpResponse method

GoogleHTTPResponse dioErrorToCustomHttpResponse(
  1. DioException error
)

Implementation

GoogleHTTPResponse dioErrorToCustomHttpResponse(dio.DioException error) {
  GoogleErrorResponse? googleErrorResponse;
  if (error.response?.data != null) {
    if (error.response?.data is GoogleErrorResponse) {
      googleErrorResponse = error.response?.data;
    } else if (error.response?.data is Map<String, dynamic>) {
      googleErrorResponse =
          GoogleErrorResponse.fromJson(error.response?.data);
    }
  }
  return GoogleHTTPResponse(
      http.Response(
        '',
        error.response?.statusCode ?? 404,
        headers: MapUtils.parseHeaders(error.response?.headers) ?? {},
        isRedirect: error.response?.isRedirect ?? false,
        request: http.Request(
          error.response?.requestOptions.method ?? HttpMethod.GET,
          error.response?.requestOptions.uri ?? Uri(),
        ),
      ),
      null,
      error: googleErrorResponse,
      extraData: error);
}