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,
  );
}