1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2018年8月10日 |
---|
#258 在 #hyper
26KB
449 行
HTTPer
基于 hyper 的异步 HTTP(S) 客户端。
为什么
在我开始编写这个客户端的部分时,我找不到任何高级异步 http(s) 客户端。我也倾向于为基于 hyper 的多个不同项目重复编写相同的代码,总是想能够向 https 地址发送请求并将响应体反序列化为 json。
用法
一个简单的用法示例
extern crate httper;
extern crate tokio;
#[macro_use]
extern crate serde_derive;
use httper::client::HttperClient;
use tokio::runtime::Runtime;
fn main() {
let mut rt = Runtime::new().unwrap();
let httper_client = HttperClient::new();
#[derive(Debug, Deserialize)]
struct Contributor {
id: u32,
login: String,
}
// Call .send() to fire the request and then call .json::<Vec<Contributor>>()
// to turn the json response into a Vec containing Contributor.
let result = rt.block_on(
httper_client
.get("https://api.github.com/repos/drager/httper/contributors")
.send()
.json::<Vec<Contributor>>(),
);
println!("Contributors: {:?}", result);
}
功能和错误
请在 问题跟踪器 中提交功能请求和错误。
许可协议
许可协议为以下之一:
- Apache 许可证,版本 2.0 (LICENSE-APACHE 或 http://apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
依赖项
~9–19MB
~264K SLoC