diff options
Diffstat (limited to 'src/client.rs')
-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 { |