#web #mio #mini #async-http #pool #thread

mini_http

基于 mio 的简单 HTTP 服务器

3 个版本

使用旧的 Rust 2015

0.0.3 2017 年 11 月 28 日
0.0.2 2017 年 11 月 28 日
0.0.1 2017 年 11 月 21 日

#51 in #mini

MIT 许可证

33KB
540

mini_http

Build Status

注意: 此项目仍在开发中,不应在任何关键的生产环境中使用。

使用 mio 的基本异步* http 服务器

*虽然网络 IO 是异步执行的,但处理函数在线程池中以同步方式执行。

用法

examples

extern crate mini_http;

fn run() -> Result<(), Box<std::error::Error>> {
    mini_http::Server::new("127.0.0.1:3000")?
        .start(|request| {
            println!("{:?}", std::str::from_utf8(request.body()));
            let resp = if request.body().len() > 0 {
                request.body().to_vec()
            } else {
                b"hello!".to_vec()
            };
            mini_http::Response::builder()
                .status(200)
                .header("X-What-Up", "Nothin")
                .body(resp)
                .unwrap()
        })?;
    Ok(())
}

依赖项

~4–5.5MB
~104K SLoC