Something went wrong. Try again.
fork of hey-api/openapi-ts because I need some additional things
Something went wrong. Try again.
1.8 kB · 62 lines
Python
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263from typing import Optionalimport httpx
class BaseClient: """Base HTTP client using httpx that SDK classes extend."""
def __init__(self, client: Optional[httpx.Client] = None, base_url: Optional[str] = None, **kwargs): if client is not None: self._client = client else: self._client = httpx.Client(base_url=base_url or "", **kwargs)
@property def client(self) -> httpx.Client: """Get the httpx client instance.""" return self._client
def request(self, method: str, url: str, **kwargs) -> httpx.Response: """Make an HTTP request.""" return self._client.request(method, url, **kwargs)
def get(self, url: str, **kwargs) -> httpx.Response: """Make a GET request.""" return self._client.get(url, **kwargs)
def post(self, url: str, **kwargs) -> httpx.Response: """Make a POST request.""" return self._client.post(url, **kwargs)
def put(self, url: str, **kwargs) -> httpx.Response: """Make a PUT request.""" return self._client.put(url, **kwargs)
def patch(self, url: str, **kwargs) -> httpx.Response: """Make a PATCH request.""" return self._client.patch(url, **kwargs)
def delete(self, url: str, **kwargs) -> httpx.Response: """Make a DELETE request.""" return self._client.delete(url, **kwargs)
def close(self): """Close the client.""" self._client.close()
def __enter__(self): return self
def __exit__(self, *args): self.close()
class Client(BaseClient): """HTTP client using httpx (alias for BaseClient)."""
pass
def create_client(base_url: Optional[str] = None, **kwargs) -> Client: """Create a new HTTP client instance.""" return Client(base_url=base_url, **kwargs)