Module signed_request

Module signed_request 

Source
Expand description

Generic signed request builder for authenticated API requests.

This module provides a reusable infrastructure for building authenticated requests across different cryptocurrency exchanges. Each exchange implements the SigningStrategy trait to define its specific signing behavior.

§Architecture

  • SignedRequestBuilder: Generic builder handling parameter management and request execution
  • SigningStrategy: Trait for exchange-specific signing (timestamp, signature, headers)
  • HasHttpClient: Trait for exchanges that can execute HTTP requests
  • SigningContext: Data structure containing all signing-related information

§Example

// Exchange implements HasHttpClient and provides a SigningStrategy
let response = exchange
    .signed_request("/api/v3/account")
    .param("symbol", "BTCUSDT")
    .optional_param("limit", Some(100))
    .execute()
    .await?;

Structs§

SignedRequestBuilder
Generic builder for creating authenticated API requests.
SigningContext
Context containing all data needed for request signing.

Enums§

HttpMethod
HTTP request methods supported by signed requests.

Traits§

HasHttpClient
Trait for exchanges that can execute HTTP requests.
SigningStrategy
Trait for exchange-specific request signing strategies.

Functions§

build_query_string
Build URL-encoded query string from parameters.
build_query_string_raw
Build query string without URL encoding (for signing).