Skip to content

TgZ39/nadeo-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crates.io Version Crates.io License docs.rs


About

This library provides an interface (or whatever you want to call it) for working with the Nadeo API. It handles authentication automatically but API requests have to be build up manually by the user.

Installation

Run

cargo add nadeo-api

or add this line to your Cargo.toml with the desired version:

nadeo-api = "0.2.3"

Getting started

Creating a client:

use nadeo_api::NadeoClient;

let mut client = NadeoClient::builder()
    .with_normal_auth("my_email", "my_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::HttpMethod;

let request = NadeoRequest::builder()
    .url("api_endpoint_url")
    .auth_type(AuthType::NadeoServices)
    .method(HttpMethod::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.