From f1830e211d24d1d0ab7f4c08fe8a45200a679702 Mon Sep 17 00:00:00 2001 From: HimbeerserverDE Date: Fri, 21 Oct 2022 18:05:05 +0200 Subject: add client constructor --- src/client.rs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) 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, } -impl Client {} +impl Client { + /// Initialises a session and returns a `Client` if successful. + pub fn login(ep: Endpoint, user: &str, pass: &str) -> Result { + 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 { -- cgit v1.2.3