HTTP Client

The HTTP client module provides the base functionality for making HTTP requests to the BingX API.

class bingx_py.http_client.BingXHttpClient(api_key, api_secret, base_url, cache=None, default_cache_ttl=300)[source]

Bases: HttpClient

HTTP client for interacting with the BingX API.

Parameters:
async async_delete(endpoint, params=None, headers=None)[source]

Perform an asynchronous DELETE request.

Parameters:
  • endpoint (str) – The API endpoint.

  • params (Optional[Dict[str, Any]]) – The request parameters.

  • headers (Optional[Dict[str, str]]) – The request headers.

Returns:

The response data.

Return type:

Dict[str, Any]

async async_get(endpoint, params=None, headers=None, use_cache=False, unique_cache_attribute=None)[source]

Perform an asynchronous GET request.

Parameters:
  • endpoint (str) – The API endpoint.

  • params (Optional[Dict[str, Any]]) – The request parameters.

  • headers (Optional[Dict[str, str]]) – The request headers.

  • use_cache (bool) – Whether to use caching for the request. Defaults to False.

  • unique_cache_attribute (Optional[str]) – An optional unique attribute for the cache key.

Returns:

The response data.

Return type:

Dict[str, Any]

async async_post(endpoint, params=None, headers=None)[source]

Perform an asynchronous POST request.

Parameters:
  • endpoint (str) – The API endpoint.

  • params (Optional[Dict[str, Any]]) – The request parameters.

  • headers (Optional[Dict[str, str]]) – The request headers.

Returns:

The response data.

Return type:

Dict[str, Any]

async async_put(endpoint, params=None, headers=None)[source]

Perform an asynchronous PUT request.

Parameters:
  • endpoint (str) – The API endpoint.

  • params (Optional[Dict[str, Any]]) – The request parameters.

  • headers (Optional[Dict[str, str]]) – The request headers.

Returns:

The response data.

Return type:

Dict[str, Any]

delete(endpoint, params=None, headers=None)[source]

Perform a synchronous DELETE request.

Parameters:
  • endpoint (str) – The API endpoint.

  • params (Optional[Dict[str, Any]]) – The request parameters.

  • headers (Optional[Dict[str, str]]) – The request headers.

Returns:

The response data.

Return type:

Dict[str, Any]

get(endpoint, params=None, headers=None, use_cache=False, unique_cache_attribute=None)[source]

Perform a synchronous GET request.

Parameters:
  • endpoint (str) – The API endpoint.

  • params (Optional[Dict[str, Any]]) – The request parameters.

  • headers (Optional[Dict[str, str]]) – The request headers.

  • use_cache (bool) – Whether to use caching for the request. Defaults to False.

  • unique_cache_attribute (Optional[str]) – An optional unique attribute for the cache key.

Returns:

The response data.

Return type:

Dict[str, Any]

post(endpoint, params=None, headers=None)[source]

Perform a synchronous POST request.

Parameters:
  • endpoint (str) – The API endpoint.

  • params (Optional[Dict[str, Any]]) – The request parameters.

  • headers (Optional[Dict[str, str]]) – The request headers.

Returns:

The response data.

Return type:

Dict[str, Any]

put(endpoint, params=None, headers=None)[source]

Perform a synchronous PUT request.

Parameters:
  • endpoint (str) – The API endpoint.

  • params (Optional[Dict[str, Any]]) – The request parameters.

  • headers (Optional[Dict[str, str]]) – The request headers.

Returns:

The response data.

Return type:

Dict[str, Any]

save_convert(data, pydantic_model)[source]

Convert response data to a specified Pydantic model.

Parameters:
  • data (Dict[str, Any]) – The data to be converted.

  • pydantic_model (Type[BaseModel]) – The Pydantic model class for conversion.

Returns:

An instance of the provided Pydantic model.

Return type:

Any

Raises:

ConversionError – If conversion to the Pydantic model fails due to validation errors.

class bingx_py.http_client.HttpClient(base_url, cache=None, default_cache_ttl=300)[source]

Bases: ABC

Base class for HTTP clients with caching support.

Parameters:
close()[source]

Close the synchronous HTTP session.

Return type:

None

async close_async()[source]

Close the asynchronous HTTP session.

Return type:

None

connect()[source]

Initialize the synchronous HTTP session.

Returns:

None

Return type:

None

async connect_async()[source]

Initialize the asynchronous HTTP session.

Return type:

None