4个版本

使用旧Rust 2015

0.1.3 2016年9月7日
0.1.2 2016年8月6日
0.1.1 2016年7月15日
0.1.0 2016年7月12日

#9 in #request-parameters

MIT 许可证

5KB
81

iron-params 构建状态

Iron Web框架的请求参数扩展。

iron-params 是Iron请求的一个快速、方便且灵活的扩展,它允许从Iron请求中检索查询/表单参数并将其转换为所需的类型。

示例

extern crate iron;
extern crate iron_params as params;
use iron::prelude::*;
use params::*;

// To run, $ cargo run --example simple
// to use, $ curl -d "ids=1,2,3&channel=1" "http://127.0.0.1:3000/?ids=4,5,6,"

fn main() {
    let mut chain = Chain::new(handler);
    chain.link_before(params::Params {});
    Iron::new(chain).http("localhost:3000").unwrap();
}

fn handler(req: &mut Request) -> IronResult<Response> {
    let mut content = String::new();

    let ids = req.params("ids");
    content.push_str(&format!("ids:{:?}\n", ids));

    let channel = req.param::<i32>("channel");
    content.push_str(&format!("channel:{:?}\n", channel));

    let channel = req.param::<String>("channel");
    content.push_str(&format!("channel:{:?}\n", channel));

    let channel = req.param::<f32>("channel");
    content.push_str(&format!("channel:{:?}\n", channel));


    Ok(Response::with((iron::status::Ok, content)))
}

安装

如果您使用cargo,只需将iron-params添加到您的Cargo.toml中。

[dependencies]

iron-params = "*"

否则,运行cargo build,rlib将位于您的target目录中。

示例

依赖项

~5MB
~116K SLoC