aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2022-10-21 18:05:05 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2022-10-21 18:05:05 +0200
commitf1830e211d24d1d0ab7f4c08fe8a45200a679702 (patch)
tree702cead33063696ab979065f1908bb59ac3b7fca
parent56b45286eaa1e85323348abd20cbbb9af9bab3d1 (diff)
add client constructor
-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 {