pub struct XtbClientBuilder { /* private fields */ }Expand description
Builder for XtbClient.
Configuration can be set with this class and when configuration step is finished, the XtbClient
can be created by the build() method.
Configurable fields are:
api_url- url of the request/response API server.stream_api_url- url of the stream API server.app_id- application identifier (deprecated by the official API documentation)app_name- application name (deprecated by the official API documentation)ping_period- interval between ping commands. Default interval is 30s.
The required configuration values are api_url and stream_api_url. Other values are optional.
Official documentation says, the ping_interval should be less than 10 minutes. But real world
observation shows that the maximal interval must be less than 1 minute.
Implementations§
Source§impl XtbClientBuilder
impl XtbClientBuilder
Sourcepub fn with_api_url(self, value: impl Into<String>) -> Self
pub fn with_api_url(self, value: impl Into<String>) -> Self
Url of the request/response API server
Sourcepub fn with_stream_api_url(self, value: impl Into<String>) -> Self
pub fn with_stream_api_url(self, value: impl Into<String>) -> Self
Url of the stream API server
Sourcepub fn with_app_id(self, value: impl Into<String>) -> Self
pub fn with_app_id(self, value: impl Into<String>) -> Self
Identifier of the application. (Deprecated by the official api)
Sourcepub fn with_app_name(self, value: impl Into<String>) -> Self
pub fn with_app_name(self, value: impl Into<String>) -> Self
Name of the application (deprecated by the official api)
Sourcepub fn with_ping_period(self, value: impl Into<u64>) -> Self
pub fn with_ping_period(self, value: impl Into<u64>) -> Self
Interval between pings. Shouldn’t be greater than 1 minute.
Source§impl XtbClientBuilder
impl XtbClientBuilder
Sourcepub fn new(api_url: &str, stream_api_url: &str) -> Self
pub fn new(api_url: &str, stream_api_url: &str) -> Self
Create new builder using custom server urls.
The resulting builder instance can be instantly built into the XtbClient
Sourcepub fn new_bare() -> Self
pub fn new_bare() -> Self
Create new builder without any configuration.
The api_url and the stream_api_url must be set at least.
Sourcepub fn new_real() -> Self
pub fn new_real() -> Self
Shorthand for XtbClientBuilder::new("wss://ws.xtb.com/real", "wss://ws.xtb.com/realStream")
Sourcepub fn new_demo() -> Self
pub fn new_demo() -> Self
Shorthand for XtbClientBuilder::new("wss://ws.xtb.com/demo", "wss://ws.xtb.com/demoStream")
Sourcepub async fn build(
self,
user_id: &str,
password: &str,
) -> Result<XtbClient, XtbClientBuilderError>
pub async fn build( self, user_id: &str, password: &str, ) -> Result<XtbClient, XtbClientBuilderError>
Consume the builder instance and create instance of the XtbClient.
The login is performed in this step.
§Returns
Ok(XtbClient)- connected to the servers. The credentials given as arguments are used to log in an user.Err(XtbClintBuilderError)- cannot connect to the servers.
Common reasons of an errors are:
- Incorrect credentials.
- Malformed API servers urls.
- Missing required configuration value.