pub struct RequestBuilder { /* private fields */ }Expand description
Request builder for WebSocket messages
Implementations§
Source§impl RequestBuilder
impl RequestBuilder
Sourcepub fn build_request(
&mut self,
method: &str,
params: Option<Value>,
) -> JsonRpcRequest
pub fn build_request( &mut self, method: &str, params: Option<Value>, ) -> JsonRpcRequest
Build a JSON-RPC request
Sourcepub fn build_auth_request(
&mut self,
client_id: &str,
client_secret: &str,
) -> JsonRpcRequest
pub fn build_auth_request( &mut self, client_id: &str, client_secret: &str, ) -> JsonRpcRequest
Build authentication request
Sourcepub fn build_subscribe_request(
&mut self,
channels: Vec<String>,
) -> JsonRpcRequest
pub fn build_subscribe_request( &mut self, channels: Vec<String>, ) -> JsonRpcRequest
Build subscription request
Sourcepub fn build_unsubscribe_request(
&mut self,
channels: Vec<String>,
) -> JsonRpcRequest
pub fn build_unsubscribe_request( &mut self, channels: Vec<String>, ) -> JsonRpcRequest
Build unsubscription request
Sourcepub fn build_public_unsubscribe_all_request(&mut self) -> JsonRpcRequest
pub fn build_public_unsubscribe_all_request(&mut self) -> JsonRpcRequest
Build public unsubscribe_all request
Unsubscribes from all public channels. Takes no parameters.
§Returns
A JSON-RPC request for unsubscribing from all public channels
Sourcepub fn build_private_unsubscribe_all_request(&mut self) -> JsonRpcRequest
pub fn build_private_unsubscribe_all_request(&mut self) -> JsonRpcRequest
Build private unsubscribe_all request
Unsubscribes from all private channels. Takes no parameters. Requires authentication.
§Returns
A JSON-RPC request for unsubscribing from all private channels
Sourcepub fn build_test_request(&mut self) -> JsonRpcRequest
pub fn build_test_request(&mut self) -> JsonRpcRequest
Build test request
Sourcepub fn build_set_heartbeat_request(&mut self, interval: u64) -> JsonRpcRequest
pub fn build_set_heartbeat_request(&mut self, interval: u64) -> JsonRpcRequest
Build set_heartbeat request
Enables heartbeat with specified interval. The server will send a heartbeat
message every interval seconds, and expects a response within the same interval.
§Arguments
interval- Heartbeat interval in seconds (10-3600)
§Returns
A JSON-RPC request for setting the heartbeat interval
Sourcepub fn build_disable_heartbeat_request(&mut self) -> JsonRpcRequest
pub fn build_disable_heartbeat_request(&mut self) -> JsonRpcRequest
Build disable_heartbeat request
Disables heartbeat messages. The server will stop sending heartbeat messages and test_request notifications.
§Returns
A JSON-RPC request for disabling heartbeats
Sourcepub fn build_hello_request(
&mut self,
client_name: &str,
client_version: &str,
) -> JsonRpcRequest
pub fn build_hello_request( &mut self, client_name: &str, client_version: &str, ) -> JsonRpcRequest
Sourcepub fn build_get_time_request(&mut self) -> JsonRpcRequest
pub fn build_get_time_request(&mut self) -> JsonRpcRequest
Build get time request
Sourcepub fn build_enable_cancel_on_disconnect_request(&mut self) -> JsonRpcRequest
pub fn build_enable_cancel_on_disconnect_request(&mut self) -> JsonRpcRequest
Build enable_cancel_on_disconnect request
Enables automatic cancellation of all open orders when the WebSocket connection is lost. This is a safety feature to prevent unintended order execution when the client loses connectivity.
§Returns
A JSON-RPC request for enabling cancel-on-disconnect
Sourcepub fn build_disable_cancel_on_disconnect_request(&mut self) -> JsonRpcRequest
pub fn build_disable_cancel_on_disconnect_request(&mut self) -> JsonRpcRequest
Build disable_cancel_on_disconnect request
Disables automatic cancellation of orders on disconnect. Orders will remain active even if the WebSocket connection is lost.
§Returns
A JSON-RPC request for disabling cancel-on-disconnect
Sourcepub fn build_get_cancel_on_disconnect_request(&mut self) -> JsonRpcRequest
pub fn build_get_cancel_on_disconnect_request(&mut self) -> JsonRpcRequest
Build get_cancel_on_disconnect request
Retrieves the current cancel-on-disconnect status for the session.
§Returns
A JSON-RPC request for getting the cancel-on-disconnect status
Sourcepub fn build_mass_quote_request(
&mut self,
request: MassQuoteRequest,
) -> Result<JsonRpcRequest, WebSocketError>
pub fn build_mass_quote_request( &mut self, request: MassQuoteRequest, ) -> Result<JsonRpcRequest, WebSocketError>
Build mass quote request
§Errors
Returns WebSocketError::Serialization if the request contains values
that cannot be represented in JSON (for example NaN or Infinity in
any f64 field such as price or amount).
Sourcepub fn build_cancel_quotes_request(
&mut self,
request: CancelQuotesRequest,
) -> Result<JsonRpcRequest, WebSocketError>
pub fn build_cancel_quotes_request( &mut self, request: CancelQuotesRequest, ) -> Result<JsonRpcRequest, WebSocketError>
Build cancel quotes request
§Errors
Returns WebSocketError::Serialization if the request contains values
that cannot be represented in JSON (for example NaN or Infinity in
the delta_range tuple).
Sourcepub fn build_set_mmp_config_request(
&mut self,
config: MmpGroupConfig,
) -> Result<JsonRpcRequest, WebSocketError>
pub fn build_set_mmp_config_request( &mut self, config: MmpGroupConfig, ) -> Result<JsonRpcRequest, WebSocketError>
Build set MMP config request
§Errors
Returns WebSocketError::Serialization if config.quantity_limit or
config.delta_limit is NaN or Infinity. MmpGroupConfig::new
enforces magnitude invariants but NaN comparisons always return false
and silently bypass them, which is why the finite check is repeated
here.
Sourcepub fn build_get_mmp_config_request(
&mut self,
mmp_group: Option<String>,
) -> JsonRpcRequest
pub fn build_get_mmp_config_request( &mut self, mmp_group: Option<String>, ) -> JsonRpcRequest
Build get MMP config request
Sourcepub fn build_reset_mmp_request(
&mut self,
mmp_group: Option<String>,
) -> JsonRpcRequest
pub fn build_reset_mmp_request( &mut self, mmp_group: Option<String>, ) -> JsonRpcRequest
Build reset MMP request
Sourcepub fn build_get_open_orders_request(
&mut self,
currency: Option<String>,
kind: Option<String>,
type_filter: Option<String>,
) -> JsonRpcRequest
pub fn build_get_open_orders_request( &mut self, currency: Option<String>, kind: Option<String>, type_filter: Option<String>, ) -> JsonRpcRequest
Build get open orders request
Sourcepub fn build_buy_request(
&mut self,
request: &OrderRequest,
) -> Result<JsonRpcRequest, WebSocketError>
pub fn build_buy_request( &mut self, request: &OrderRequest, ) -> Result<JsonRpcRequest, WebSocketError>
Build buy order request
§Errors
Returns WebSocketError::Serialization if request contains values
that cannot be represented in JSON (for example NaN or Infinity in
price, amount, max_show or trigger_price).
Sourcepub fn build_sell_request(
&mut self,
request: &OrderRequest,
) -> Result<JsonRpcRequest, WebSocketError>
pub fn build_sell_request( &mut self, request: &OrderRequest, ) -> Result<JsonRpcRequest, WebSocketError>
Build sell order request
§Errors
Returns WebSocketError::Serialization if request contains values
that cannot be represented in JSON (for example NaN or Infinity in
price, amount, max_show or trigger_price).
Sourcepub fn build_cancel_request(&mut self, order_id: &str) -> JsonRpcRequest
pub fn build_cancel_request(&mut self, order_id: &str) -> JsonRpcRequest
Build cancel order request
Sourcepub fn build_cancel_all_request(&mut self) -> JsonRpcRequest
pub fn build_cancel_all_request(&mut self) -> JsonRpcRequest
Build cancel all orders request
Sourcepub fn build_cancel_all_by_currency_request(
&mut self,
currency: &str,
) -> JsonRpcRequest
pub fn build_cancel_all_by_currency_request( &mut self, currency: &str, ) -> JsonRpcRequest
Build cancel all orders by currency request
Sourcepub fn build_cancel_all_by_instrument_request(
&mut self,
instrument_name: &str,
) -> JsonRpcRequest
pub fn build_cancel_all_by_instrument_request( &mut self, instrument_name: &str, ) -> JsonRpcRequest
Build cancel all orders by instrument request
Sourcepub fn build_edit_request(
&mut self,
request: &EditOrderRequest,
) -> Result<JsonRpcRequest, WebSocketError>
pub fn build_edit_request( &mut self, request: &EditOrderRequest, ) -> Result<JsonRpcRequest, WebSocketError>
Build edit order request
§Errors
Returns WebSocketError::Serialization if request contains values
that cannot be represented in JSON (for example NaN or Infinity in
price, amount or trigger_price).
Sourcepub fn build_get_positions_request(
&mut self,
currency: Option<&str>,
kind: Option<&str>,
) -> JsonRpcRequest
pub fn build_get_positions_request( &mut self, currency: Option<&str>, kind: Option<&str>, ) -> JsonRpcRequest
Sourcepub fn build_get_account_summary_request(
&mut self,
currency: &str,
extended: Option<bool>,
) -> JsonRpcRequest
pub fn build_get_account_summary_request( &mut self, currency: &str, extended: Option<bool>, ) -> JsonRpcRequest
Sourcepub fn build_get_order_state_request(
&mut self,
order_id: &str,
) -> JsonRpcRequest
pub fn build_get_order_state_request( &mut self, order_id: &str, ) -> JsonRpcRequest
Sourcepub fn build_get_order_history_by_currency_request(
&mut self,
currency: &str,
kind: Option<&str>,
count: Option<u32>,
) -> JsonRpcRequest
pub fn build_get_order_history_by_currency_request( &mut self, currency: &str, kind: Option<&str>, count: Option<u32>, ) -> JsonRpcRequest
Sourcepub fn build_close_position_request(
&mut self,
instrument_name: &str,
order_type: &str,
price: Option<f64>,
) -> Result<JsonRpcRequest, WebSocketError>
pub fn build_close_position_request( &mut self, instrument_name: &str, order_type: &str, price: Option<f64>, ) -> Result<JsonRpcRequest, WebSocketError>
Build a close_position request
§Arguments
instrument_name- The instrument to close position fororder_type- Order type: “limit” or “market”price- Price for limit orders (required if order_type is “limit”)
§Returns
A JSON-RPC request for closing a position
§Errors
Returns WebSocketError::Serialization if price is NaN or
Infinity, which cannot be represented in JSON.
Sourcepub fn build_move_positions_request(
&mut self,
currency: &str,
source_uid: u64,
target_uid: u64,
trades: &[MovePositionTrade],
) -> Result<JsonRpcRequest, WebSocketError>
pub fn build_move_positions_request( &mut self, currency: &str, source_uid: u64, target_uid: u64, trades: &[MovePositionTrade], ) -> Result<JsonRpcRequest, WebSocketError>
Build a move_positions request
§Arguments
currency- Currency for the positions (BTC, ETH, etc.)source_uid- Source subaccount IDtarget_uid- Target subaccount IDtrades- List of positions to move
§Returns
A JSON-RPC request for moving positions between subaccounts
§Errors
Returns WebSocketError::Serialization if any amount or price
value in trades is NaN or Infinity, which cannot be represented
in JSON.
Trait Implementations§
Source§impl Clone for RequestBuilder
impl Clone for RequestBuilder
Source§fn clone(&self) -> RequestBuilder
fn clone(&self) -> RequestBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more