aboutsummaryrefslogtreecommitdiff
path: root/src/client.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/client.rs')
-rw-r--r--src/client.rs19
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 {