quantpylib.throttler.aiosonic
HTTPClient
An asynchronous HTTP aiosonic client for fast network requests and (de)serialization of data packets. Automatic retries and error handling.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
base_url |
str
|
The base URL for all requests. Defaults to an empty string. |
''
|
json_decoder |
callable
|
The JSON decoder function to use. Defaults to |
loads
|
cleanup()
async
Clean up the HTTP client session, ensuring proper resource deallocation.
Returns:
Type | Description |
---|---|
None |
handler(response)
async
Handle the HTTP response, returning the JSON-decoded content or raising an HTTPException on error.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
response |
HTTPResponse
|
The HTTP response object to handle. |
required |
Returns:
Name | Type | Description |
---|---|---|
dict |
The JSON-decoded response if the status code is less than 400. |
Raises:
Type | Description |
---|---|
HTTPException
|
If the response status code is 400 or higher. |
request(url='', endpoint='', method='GET', headers={'content-type': 'application/json'}, params=None, data=None, retries=2)
async
Make an HTTP request and handle retries on failure.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
url |
str
|
The full URL for the request. If not provided, |
''
|
endpoint |
str
|
The endpoint to append to the base URL. Defaults to an empty string. |
''
|
method |
str
|
The HTTP method to use. Defaults to 'GET'. |
'GET'
|
headers |
dict
|
The headers to include in the request. Defaults to {"content-type": "application/json"}. |
{'content-type': 'application/json'}
|
params |
dict
|
The URL parameters to include in the request. Defaults to None. |
None
|
data |
dict or str
|
The data to include in the request body. Defaults to None. |
None
|
retries |
int
|
The number of retries if the request fails. Defaults to 2. |
2
|
Returns:
Name | Type | Description |
---|---|---|
dict |
The parsed JSON response if the request is successful. |
Raises:
Type | Description |
---|---|
HTTPException
|
If the response status code is 400 or higher. |
HTTPException
Bases: Exception
An exception class for HTTP errors, capturing the status code, error message, and response headers.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
status_code |
int
|
The HTTP status code of the error. |
required |
message |
str
|
The error message. |
required |
headers |
dict
|
The response headers associated with the error. |
required |