20 个版本
0.2.0 | 2020 年 1 月 16 日 |
---|---|
0.1.18 | 2019 年 11 月 10 日 |
0.1.17 | 2019 年 10 月 23 日 |
0.1.15 | 2018 年 12 月 3 日 |
0.1.8 | 2018 年 7 月 3 日 |
#2028 在 网页编程
每月 69 次下载
32KB
908 行
EPITECH-API
这是一个建立在 reqwest 之上的 Rust 库,用于与 EPITECH 内部网络交互。
该库侧重于易用性和类型安全。
目标
本项目旨在将类型附加到内部资源,以便所有可能的成员都能清晰表示并安全访问。
如何使用
一切从 Client
结构体开始。
您可以通过这种方式创建一个 Client
use epitech_api::{Client, Error};
let result = Client::builder()
.autologin("[INSERT AUTOLOGIN LINK HERE]")
.authenticate()
.await; // This returns a `Result<Client, Error>`.
let client = match result {
Ok(client) => client,
Err(err) => , // Handle authentication error here.
};
在此之后,您已经认证了内部网络,并准备好进行请求。
例如,您可以这样请求一个班级所有学生的列表
// This makes the request and returns a `Result<Vec<UserEntry>, Error>`.
let result = client.fetch_student_list()
.location(Location::Strasbourg)
.promo(Promo::Tek2)
.year(2020)
.send()
.await;
Client::make_request
允许您向内部网络发出任意请求
// Notice that only the path component of the route can be passed to the method.
let my_student_infos = match client.make_request("/user").await {
Ok(text: String) => , // Here, `text` represents the raw intranet response body.
Err(err: Error) => , // Handle request error here.
};
依赖关系
~4–9MB
~193K SLoC