assets_guardian.core.clients.http_clientο
Classes
|
Generic HTTP client with retry logic, exponential backoff, and 429 handling. |
- class assets_guardian.core.clients.http_client.HttpClient(base_url: str = '', headers: dict[str, str] | None = None, timeout: int = 30, max_retries: int = 3)[source]ο
Bases:
objectGeneric HTTP client with retry logic, exponential backoff, and 429 handling.
- Parameters:
base_url β The base URL for all requests.
headers β Headers to include in each request.
timeout β The default timeout in seconds.
max_retries β The maximum number of attempts for 429 and 500+ errors.
Initializes the HttpClient.
- delete(url: str, **kwargs: Any) Response[source]ο
Sends a DELETE request.
- Parameters:
url β The URL or path (appended to base_url).
**kwargs β Extra arguments for requests.request.
- Returns:
The HTTP response.
- Return type:
requests.Response
- Raises:
HTTPError β If the request fails after the maximum number of attempts.
RequestException β For other errors related to the request.
- get(url: str, **kwargs: Any) Response[source]ο
Sends a GET request.
- Parameters:
url β The URL or path (appended to base_url).
**kwargs β Extra arguments for requests.request.
- Returns:
The HTTP response.
- Return type:
requests.Response
- Raises:
HTTPError β If the request fails after the maximum number of attempts.
RequestException β For other errors related to the request.
- patch(url: str, **kwargs: Any) Response[source]ο
Sends a PATCH request.
- Parameters:
url β The URL or path (appended to base_url).
**kwargs β Extra arguments for requests.request.
- Returns:
The HTTP response.
- Return type:
requests.Response
- Raises:
HTTPError β If the request fails after the maximum number of attempts.
RequestException β For other errors related to the request.
- post(url: str, **kwargs: Any) Response[source]ο
Sends a POST request.
- Parameters:
url β The URL or path (appended to base_url).
**kwargs β Extra arguments for requests.request.
- Returns:
The HTTP response.
- Return type:
requests.Response
- Raises:
HTTPError β If the request fails after the maximum number of attempts.
RequestException β For other errors related to the request.
- put(url: str, **kwargs: Any) Response[source]ο
Sends a PUT request.
- Parameters:
url β The URL or path (appended to base_url).
**kwargs β Extra arguments for requests.request.
- Returns:
The HTTP response.
- Return type:
requests.Response
- Raises:
HTTPError β If the request fails after the maximum number of attempts.
RequestException β For other errors related to the request.
- request(method: str, url: str, **kwargs: Any) Response[source]ο
Sends an HTTP request with retry logic.
- Parameters:
method β The HTTP method (GET, POST, etc.).
url β The URL or path (appended to base_url).
**kwargs β Extra arguments for requests.request.
- Returns:
The HTTP response.
- Return type:
requests.Response
- Raises:
HTTPError β If the request fails after the maximum number of attempts.
RequestException β For other errors related to the request.