polyoxide_binance/usdm/request.rs
1//! What every route builder sends through: core's request builder, with the
2//! route's weight as its cost.
3
4use crate::usdm::{error::UsdmError, weight::Route};
5
6pub use crate::shared::weight::USED_WEIGHT_HEADER;
7
8/// A route and its query, sent as core's [`Request`](polyoxide_core::Request)
9/// with the route's cost.
10///
11/// The route builders wrap one. Setting a query parameter twice replaces it,
12/// and a parameter that changes the weight replaces the route with it.
13pub(crate) type Routed<T> = crate::shared::request::Routed<T, Route, UsdmError>;
14
15/// A route builder with no parameters of its own beyond those its namespace
16/// method sets: `cost` and `send`, like the builders with setters.
17macro_rules! route_builder {
18 ($(#[$doc:meta])* $name:ident => $output:ty) => {
19 $crate::shared::request::route_builder! {
20 $(#[$doc])* $name => $output;
21 module = usdm, error = UsdmError
22 }
23 };
24}
25
26pub(crate) use route_builder;