class documentation

HTTP class for making HTTP requests.

Method __del__ Destructor to clean up resources.
Method __init__ Initialize the HTTP class.
Method callback.setter Set the async callback function.
Method close Close the async thread, clear the async response, reset state.
Method delete Send a DELETE request and return a Response object.
Method delete_async Send an async DELETE request.
Method get Send a GET request and return a Response object.
Method get_async Send an async GET request.
Method head Send a HEAD request and return a Response object.
Method head_async Send an async HEAD request.
Method is_request_complete Check if the async request is complete.
Method patch Send a PATCH request and return a Response object.
Method patch_async Send an async PATCH request.
Method post Send a POST request and return a Response object.
Method post_async Send an async POST request.
Method put Send a PUT request and return a Response object.
Method put_async Send an async PUT request.
Method read_chunked Read a chunked HTTP response.
Method request Make an HTTP request.
Method request_async Handle async requests.
Class Variable __slots__ Undocumented
Property callback Get the async callback function.
Property content_length Get the content length of the current request.
Property download_speed Get the download speed of the current request.
Property downloaded_bytes Get the number of bytes downloaded so far.
Property error Get the async error message, if any.
Property in_progress Check if the async request is in progress.
Property is_finished Check if the async request is finished.
Property is_successful Check if the async request was successful.
Property response Get the async Response object.
Property state Get the current HTTP state.
Method __execute_request Execute the actual HTTP request in a separate thread.
Method _is_instance Check if the object is an instance of str or bytes.
Method _should_continue Check if the request should continue running.
Method _update_speed Update the download speed based on bytes downloaded and elapsed time.
Instance Variable _async_callback Undocumented
Instance Variable _async_error Undocumented
Instance Variable _async_request_complete Undocumented
Instance Variable _async_request_in_progress Undocumented
Instance Variable _async_result Undocumented
Instance Variable _async_thread_id Undocumented
Instance Variable _chunk_size Undocumented
Instance Variable _content_length Undocumented
Instance Variable _current_task Undocumented
Instance Variable _download_speed Undocumented
Instance Variable _download_start_ticks Undocumented
Instance Variable _downloaded_bytes Undocumented
Instance Variable _lock Undocumented
Instance Variable _running Undocumented
Instance Variable _state Undocumented
Instance Variable _thread_manager Undocumented
def __del__(self):

Destructor to clean up resources.

def __init__(self, chunk_size: int = 1024 * 4, thread_manager=None):

Initialize the HTTP class.

Parameters
chunk_size:intTransfer chunk size in bytes. Defaults to 4096.
thread_manager:ThreadManagerManager for threaded requests. Defaults to None.
def callback(self, value: callable):

Set the async callback function.

The callback receives (response, state, error): - response: The Response object or None if there was an error - state: The current HTTP state (HTTP_IDLE, HTTP_LOADING, HTTP_ISSUE) - error: The error message if any, otherwise None

Parameters
value:callableThe callback function to set.
def close(self):

Close the async thread, clear the async response, reset state.

def delete(self, url, headers=None, timeout: float = 10.0, save_to_file=None, storage=None) -> Response:

Send a DELETE request and return a Response object.

Parameters
url:strURL to request.
headers:dictHTTP headers dict. Defaults to None.
timeout:floatRequest timeout in seconds. Defaults to 10.0.
save_to_file:strFile path to save response data to (requires storage). Defaults to None.
storage:StorageStorage object for file operations. Defaults to None.
Returns
ResponseThe HTTP response.
def delete_async(self, url, headers=None, timeout: float = 10.0, save_to_file=None, storage=None) -> bool:

Send an async DELETE request.

Parameters
url:strURL to request.
headers:dictHTTP headers dict. Defaults to None.
timeout:floatRequest timeout in seconds. Defaults to 10.0.
save_to_file:strFile path to save response data to (requires storage). Defaults to None.
storage:StorageStorage object for file operations. Defaults to None.
Returns
boolTrue if the request was started.
def get(self, url, headers=None, timeout: float = 10.0, save_to_file=None, storage=None) -> Response:

Send a GET request and return a Response object.

Parameters
url:strURL to request.
headers:dictHTTP headers dict. Defaults to None.
timeout:floatRequest timeout in seconds. Defaults to 10.0.
save_to_file:strFile path to save response data to (requires storage). Defaults to None.
storage:StorageStorage object for file operations. Defaults to None.
Returns
ResponseThe HTTP response.
def get_async(self, url, headers=None, timeout: float = 10.0, save_to_file=None, storage=None) -> bool:

Send an async GET request.

Parameters
url:strURL to request.
headers:dictHTTP headers dict. Defaults to None.
timeout:floatRequest timeout in seconds. Defaults to 10.0.
save_to_file:strFile path to save response data to (requires storage). Defaults to None.
storage:StorageStorage object for file operations. Defaults to None.
Returns
boolTrue if the request was started.
def head(self, url, payload, headers=None, timeout: float = 10.0, save_to_file=None, storage=None, send_file=None) -> Response:

Send a HEAD request and return a Response object.

Parameters
url:strURL to request.
payload:str, bytes, or dictRequest payload.
headers:dictHTTP headers dict. Defaults to None.
timeout:floatRequest timeout in seconds. Defaults to 10.0.
save_to_file:strFile path to save response data to (requires storage). Defaults to None.
storage:StorageStorage object for file operations. Defaults to None.
send_file:strFile path to send as request body (requires storage). Defaults to None.
Returns
ResponseThe HTTP response.
def head_async(self, url, payload, headers=None, timeout: float = 10.0, save_to_file=None, storage=None, send_file=None) -> bool:

Send an async HEAD request.

Parameters
url:strURL to request.
payload:str, bytes, or dictRequest payload.
headers:dictHTTP headers dict. Defaults to None.
timeout:floatRequest timeout in seconds. Defaults to 10.0.
save_to_file:strFile path to save response data to (requires storage). Defaults to None.
storage:StorageStorage object for file operations. Defaults to None.
send_file:strFile path to send as request body (requires storage). Defaults to None.
Returns
boolTrue if the request was started.
def is_request_complete(self) -> bool:

Check if the async request is complete.

def patch(self, url, payload, headers=None, timeout: float = 10.0, save_to_file=None, storage=None, send_file=None) -> Response:

Send a PATCH request and return a Response object.

Parameters
url:strURL to request.
payload:str, bytes, or dictRequest payload.
headers:dictHTTP headers dict. Defaults to None.
timeout:floatRequest timeout in seconds. Defaults to 10.0.
save_to_file:strFile path to save response data to (requires storage). Defaults to None.
storage:StorageStorage object for file operations. Defaults to None.
send_file:strFile path to send as request body (requires storage). Defaults to None.
Returns
ResponseThe HTTP response.
def patch_async(self, url, payload, headers=None, timeout: float = 10.0, save_to_file=None, storage=None, send_file=None) -> bool:

Send an async PATCH request.

Parameters
url:strURL to request.
payload:str, bytes, or dictRequest payload.
headers:dictHTTP headers dict. Defaults to None.
timeout:floatRequest timeout in seconds. Defaults to 10.0.
save_to_file:strFile path to save response data to (requires storage). Defaults to None.
storage:StorageStorage object for file operations. Defaults to None.
send_file:strFile path to send as request body (requires storage). Defaults to None.
Returns
boolTrue if the request was started.
def post(self, url, payload, headers=None, timeout: float = 10.0, save_to_file=None, storage=None, send_file=None) -> Response:

Send a POST request and return a Response object.

Parameters
url:strURL to request.
payload:str, bytes, or dictRequest payload.
headers:dictHTTP headers dict. Defaults to None.
timeout:floatRequest timeout in seconds. Defaults to 10.0.
save_to_file:strFile path to save response data to (requires storage). Defaults to None.
storage:StorageStorage object for file operations. Defaults to None.
send_file:strFile path to send as request body (requires storage). Defaults to None.
Returns
ResponseThe HTTP response.
def post_async(self, url, payload, headers=None, timeout: float = 10.0, save_to_file=None, storage=None, send_file=None) -> bool:

Send an async POST request.

Parameters
url:strURL to request.
payload:str, bytes, or dictRequest payload.
headers:dictHTTP headers dict. Defaults to None.
timeout:floatRequest timeout in seconds. Defaults to 10.0.
save_to_file:strFile path to save response data to (requires storage). Defaults to None.
storage:StorageStorage object for file operations. Defaults to None.
send_file:strFile path to send as request body (requires storage). Defaults to None.
Returns
boolTrue if the request was started.
def put(self, url, payload, headers=None, timeout: float = 10.0, save_to_file=None, storage=None, send_file=None) -> Response:

Send a PUT request and return a Response object.

Parameters
url:strURL to request.
payload:str, bytes, or dictRequest payload.
headers:dictHTTP headers dict. Defaults to None.
timeout:floatRequest timeout in seconds. Defaults to 10.0.
save_to_file:strFile path to save response data to (requires storage). Defaults to None.
storage:StorageStorage object for file operations. Defaults to None.
send_file:strFile path to send as request body (requires storage). Defaults to None.
Returns
ResponseThe HTTP response.
def put_async(self, url, payload, headers=None, timeout: float = 10.0, save_to_file=None, storage=None, send_file=None) -> bool:

Send an async PUT request.

Parameters
url:strURL to request.
payload:str, bytes, or dictRequest payload.
headers:dictHTTP headers dict. Defaults to None.
timeout:floatRequest timeout in seconds. Defaults to 10.0.
save_to_file:strFile path to save response data to (requires storage). Defaults to None.
storage:StorageStorage object for file operations. Defaults to None.
send_file:strFile path to send as request body (requires storage). Defaults to None.
Returns
boolTrue if the request was started.
def read_chunked(self, s, uart=None, method='GET', save_to_file=None, storage=None) -> bytes:

Read a chunked HTTP response.

Parameters
s:socketSocket object.
uart:UARTUART object for writing output. Defaults to None.
method:strHTTP method name. Defaults to "GET".
save_to_file:strFile path to save response data to (requires storage). Defaults to None.
storage:StorageStorage object for file operations. Defaults to None.
Returns
bytesThe response body.
def request(self, method, url, data=None, json_data=None, headers=None, auth=None, timeout=None, parse_headers=True, uart=None, save_to_file=None, storage=None, send_file=None) -> Response:

Make an HTTP request.

Parameters
method:strHTTP method (GET, POST, etc.).
url:strURL to request.
data:str or bytesRequest body data. Defaults to None.
json_data:dictJSON data to send (will be serialized). Defaults to None.
headers:dictHTTP headers dict. Defaults to None.
auth:tupleAuthentication tuple (username, password). Defaults to None.
timeout:floatRequest timeout in seconds. Defaults to None.
parse_headers:bool or callableWhether to parse response headers. Defaults to True.
uart:UARTUART object for streaming output. Defaults to None.
save_to_file:strFile path to save response data to (requires storage). Defaults to None.
storage:StorageStorage object for file operations. Defaults to None.
send_file:strFile path to send as request body (requires storage). Defaults to None.
Returns
ResponseThe HTTP response.
def request_async(self, method, url, payload=None, headers=None, timeout: float = 10.0, save_to_file=None, storage=None, send_file=None) -> bool:

Handle async requests.

Parameters
method:strHTTP method (GET, POST, etc.).
url:strURL to request.
payload:str, bytes, or dictRequest payload. Defaults to None.
headers:dictHTTP headers dict. Defaults to None.
timeout:floatRequest timeout in seconds. Defaults to 10.0.
save_to_file:strFile path to save response data to (requires storage). Defaults to None.
storage:StorageStorage object for file operations. Defaults to None.
send_file:strFile path to send as request payload (requires storage). Defaults to None.
Returns
boolTrue if the request was started.
__slots__: list[str] =

Undocumented

@property
callback: callable =

Get the async callback function.

@property
content_length: int =

Get the content length of the current request.

@property
download_speed: int =

Get the download speed of the current request.

@property
downloaded_bytes: int =

Get the number of bytes downloaded so far.

@property
error =

Get the async error message, if any.

@property
in_progress: bool =

Check if the async request is in progress.

@property
is_finished: bool =

Check if the async request is finished.

@property
is_successful: bool =

Check if the async request was successful.

@property
response =

Get the async Response object.

@property
state: int =

Get the current HTTP state.

def __execute_request(self, method: str, url: str, payload, headers=None, timeout: float = 10.0, save_to_file=None, storage=None, send_file=None) -> Response:

Execute the actual HTTP request in a separate thread.

Parameters
method:strHTTP method (GET, POST, etc.).
url:strURL to request.
payload:str, bytes, or dictRequest payload.
headers:dictHTTP headers dict. Defaults to None.
timeout:floatRequest timeout in seconds. Defaults to 10.0.
save_to_file:strFile path to save response data to (requires storage). Defaults to None.
storage:StorageStorage object for file operations. Defaults to None.
send_file:strFile path to send as request payload (requires storage). Defaults to None.
Returns
ResponseThe HTTP response.
def _is_instance(self, obj) -> bool:

Check if the object is an instance of str or bytes.

Parameters
obj:objectThe object to check.
Returns
boolTrue if the object is a str or bytes instance.
def _should_continue(self) -> bool:

Check if the request should continue running.

def _update_speed(self, bytes_downloaded: int):

Update the download speed based on bytes downloaded and elapsed time.

Parameters
bytes_downloaded:intNumber of bytes downloaded since the last update.
_async_callback: callable =

Undocumented

_async_error =

Undocumented

_async_request_complete: bool =

Undocumented

_async_request_in_progress: bool =

Undocumented

_async_result: Response =

Undocumented

_async_thread_id =

Undocumented

_chunk_size =

Undocumented

_content_length =

Undocumented

_current_task =

Undocumented

_download_speed: int =

Undocumented

_download_start_ticks =

Undocumented

_downloaded_bytes: int =

Undocumented

_lock =

Undocumented

_running: bool =

Undocumented

_state =

Undocumented

_thread_manager =

Undocumented