使用nickel.rs读取请求体



我想向我的API发送一个请求,并在请求体中放置一些二进制数据,但是没有。Rs似乎没有办法处理流。

我可以获得POST参数并将其解析为JSON,但我如何读取主体?

Nickel是建立在hyper之上的,并且Nickel Request公开了原始的hyper请求:

pub struct Request<'a, 'b, 'k> {
    pub origin: HyperRequest<'a, 'k>,
    pub route_result: Option<RouteResult<'b>>,
    // some fields omitted
}

,反过来,实现Read特性:

#[macro_use] extern crate nickel;
use nickel::Nickel;
use std::io::Read;
fn main() {
    let mut server = Nickel::new();
    server.utilize(router! {
        post "**" => |req, _res| {
            let mut body = vec![];
            req.origin.read_to_end(&mut body).unwrap();
            format!("You posted {} bytes", body.len())
        }
    });
    server.listen("127.0.0.1:6767");
}

相关内容

  • 没有找到相关文章