Files
oxipy/oxi/adapter.py
IluaAir 8cebbf743a Add OxiAdapter for enhanced HTTP request handling in OxiAPI
- Introduced a new `OxiAdapter` class that extends `HTTPAdapter` to manage timeouts and retries for HTTP requests.
- Integrated the `OxiAdapter` into the `OxiAPI` class, setting a default timeout and enabling retry logic for both HTTP and HTTPS requests.
2026-03-26 00:31:13 +03:00

22 lines
602 B
Python

from typing import Optional
from requests.adapters import HTTPAdapter
from urllib3.util import Retry
class OxiAdapter(HTTPAdapter):
def __init__(
self,
timeout: Optional[int] = None,
max_retries: int = 3,
*args,
**kwargs,
):
self.timeout = timeout
retry = Retry(total=max_retries, backoff_factor=0.3)
super().__init__(*args, max_retries=retry, **kwargs)
def send(self, request, **kwargs):
if kwargs.get("timeout") is None:
kwargs["timeout"] = self.timeout
return super().send(request, **kwargs)