From a0b217fb3f1a3a669462164a9d92d327ad5ed08c Mon Sep 17 00:00:00 2001 From: Omer Zuarets Date: Thu, 30 May 2024 18:15:40 +0300 Subject: [PATCH] add raise_for_status as httpx doesn't have this configuration in client level --- packages/opal-common/opal_common/config.py | 2 +- .../opal_common/fetcher/providers/http_fetch_provider.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/opal-common/opal_common/config.py b/packages/opal-common/opal_common/config.py index 6058b307..7666d47e 100644 --- a/packages/opal-common/opal_common/config.py +++ b/packages/opal-common/opal_common/config.py @@ -173,7 +173,7 @@ class OpalCommonConfig(Confi): "HTTP_FETCHER_PROVIDER_CLIENT", "aiohttp", description="The client to use for fetching data, can be either aiohttp or httpx." - "if provided different value, aiohttp will be used.", + "if provided different value, aiohttp will be used.", ) diff --git a/packages/opal-common/opal_common/fetcher/providers/http_fetch_provider.py b/packages/opal-common/opal_common/fetcher/providers/http_fetch_provider.py index 66cf8f6f..7261b538 100644 --- a/packages/opal-common/opal_common/fetcher/providers/http_fetch_provider.py +++ b/packages/opal-common/opal_common/fetcher/providers/http_fetch_provider.py @@ -5,8 +5,8 @@ import httpx from aiohttp import ClientResponse, ClientSession -from pydantic import validator from opal_common.config import opal_common_config +from pydantic import validator from ...http import is_http_error_response from ...security.sslcontext import get_custom_ssl_context @@ -89,11 +89,12 @@ async def _fetch_(self): self._session, self._event.config.method ) if self._event.config.data is not None: - result = await http_method( + result: Union[ClientResponse, httpx.Response] = await http_method( self._url, data=self._event.config.data, **self._ssl_context_kwargs ) else: result = await http_method(self._url, **self._ssl_context_kwargs) + result.raise_for_status() return result @staticmethod