#hyper-client #hyper #client #http #rest

鹅管头

高级hyper客户端工具

3个版本

使用旧的Rust 2015

0.0.3 2015年6月26日
0.0.2 2015年6月18日
0.0.1 2015年6月8日

#hyper-client中排名36

MIT许可协议

5KB
73

鹅管头

Build Status MIT licensed

鹅管头(库)是用于使用hyper编写HTTP客户端的一组实用工具。

鹅管头(名称)是一种中国白酒(白酒)。

此库仍在开发中。欢迎对API设计提出建议。

Cargo

[dependencies]
erguotou = "*"

使用方法

JsonRPC

示例代码

use std::collections::BTreeMap;
use hyper::client::Client;
use rustc_serialize::json::ToJson;
use erguotou::json::{JsonParam, JsonRPC};

// the data you are going to send
// it can be anything of rustc_serialize::json::ToJson
let mut data = BTreeMap::new();
data.insert("hello".to_owned(), "world".to_owned());

// the hyper client
let client = Client::new();

// construct JsonParam from data
let mut json_param: JsonParam = JsonParam::from(&data as &ToJson);
// the hyper request builder calls, no need for body() and header()
// a single json() call to fill them all
let mut resp = client.post("http://127.0.0.1:8080")
    .json(&mut json_param).send().unwrap();

表单提交

示例代码

use std::collections::BTreeMap;
use hyper::client::Client;
use erguotou::form::{ToForm, FormParam, FormBody};

// the data you are going to send
// it can be anything implements ToForm.
// By default, we have BTreeMap built-in for ToForm
let mut data = BTreeMap::new();
data.insert("name".to_owned(), "Ning Sun".to_owned());

// the hyper client
let client = Client::new();

// construct JsonParam from data
let mut form_data: FormParam = FormParam::from(&data as &ToForm);
// the hyper request builder calls, no need for body() and header()
// a single form() call to fill them all
let mut resp = client.post("http://127.0.0.1:8080")
    .form(&mut form_data).send().unwrap();

许可协议

MIT

依赖项

~6MB
~124K SLoC