Skip to content

TgZ39/nadeo-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crates.io Version Crates.io License docs.rs

nadeo-api

This library handles all the authentication for working with the Nadeo API.

Installation

Via command line:

cargo add nadeo-api

Via Cargo.toml:

nadeo-api = "0.2.4"

Getting started

Creating a client:

use nadeo_api::NadeoClient;

let mut client = NadeoClient::builder()
    .with_normal_auth("my_email", "my_password")
    .with_server_auth("my_username", "my_other_password")
    .with_oauth("my_identifier", "my_secret")
    .user_agent("My cool Application / my.email@domain.com")
    .build()
    .await?;

Creating a request:

use nadeo_api::NadeoRequest;
use nadeo_api::auth::AuthType;
use nadeo_api::request::Method;

let request = NadeoRequest::builder()
    .url("api_endpoint_url")
    .auth_type(AuthType::NadeoServices)
    .method(Method::GET)
    .body("some text/json") // optional
    .build()?;

Executing a request:

let mut client = /* snap */;
let request = /* snap */;

let response = client.execute(request).await?;

License

This project is licensed under Apache License, Version 2.0.