A Rust HTTP client for Lemmy. Uses the browser's built-in fetch API when targeting WASM to keep the binary size small.
In your Cargo.toml:
[dependencies]
lemmy_client = "X.X.X"An example:
use lemmy_client::{LemmyClient, ClientOptions};
use lemmy_api_common::account::auth::Login;
async fn get_site_test() {
let mut client = LemmyClient::new(ClientOptions {
domain: "lemmy.ml",
secure: true
});
let res = client.get_site().await;
assert!(res.is_ok());
// Login
let login = Login {
username_or_email: "user".to_string().into(),
password: "password".to_string().into(),
stay_logged_in: None,
totp_2fa_token: None,
};
let jwt = client.login(login).await?.jwt;
if let Some(jwt) = jwt {
client.set_jwt(&jwt.into_inner());
};
}