diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2022-10-21 18:05:05 +0200 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2022-10-21 18:05:05 +0200 |
commit | f1830e211d24d1d0ab7f4c08fe8a45200a679702 (patch) | |
tree | 702cead33063696ab979065f1908bb59ac3b7fca | |
parent | 56b45286eaa1e85323348abd20cbbb9af9bab3d1 (diff) |
add client constructor
-rw-r--r-- | src/client.rs | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/client.rs b/src/client.rs index 3153254..633d585 100644 --- a/src/client.rs +++ b/src/client.rs @@ -36,7 +36,24 @@ pub struct Client { inner: Arc<ClientRef>, } -impl Client {} +impl Client { + /// Initialises a session and returns a `Client` if successful. + pub fn login(ep: Endpoint, user: &str, pass: &str) -> Result<Client> { + let client = Client { + inner: Arc::new(ClientRef { + http: reqwest::Client::builder().cookie_store(true).build()?, + }), + }; + + client.call(crate::call::account::Login { + user, + pass, + case_insensitive: false, + })?; + + Ok(client) + } +} // The underlying data of a `Client`. struct ClientRef { |