#web #server-response #request #dependency-less

web_server

用于创建HTTP服务器的小型、无依赖项的crate

17个不稳定版本 (3个重大变更)

0.4.2 2020年6月1日
0.4.1 2020年6月1日
0.4.0 2020年5月31日
0.3.41 2020年5月25日
0.1.20 2019年9月25日

#456HTTP服务器

Download history 4/week @ 2024-03-16 23/week @ 2024-03-30 3/week @ 2024-04-06 1/week @ 2024-04-20

每月下载 69次

MIT 许可证

225KB
625

Rust HTTP服务器库

Build Status

web_server是一个小型、无依赖项的crate,用于创建HTTP服务器。

当您使用Rust编写后端代码时,最令人烦恼的事情可能是框架的大小和应用程序编译所需的时间。

web_server包解决了这些问题。web_server没有依赖项,但允许您创建完整的服务器。

首次使用web_server创建服务器

extern crate web_server;
web_server::new()
   .get("/", |request: web_server::Request, mut response: web_server::Response|
        "Hello World!".into())
   .launch(80)
   .unwrap();

这很容易!

首先,您必须创建HttpServer实例

web_server::new()

然后,您可以声明您的端点。例如。

.get("/your/path", |request, default_response| {
    // There place your logic
    // This function returns Response
    "response text".into()
})
.post("/your/path", |_, _| "Handler for POST method")
.route(web_server::HttpMethod::DELETE, "/your/path", |_, _| "Handler for DELETE method")
.any("/your/path", |_, _| "Handler for any method")

现在您必须通过launch方法运行服务器

.launch(PORT).unwrap()

接收POST数据

例如。

    use web_server::decoders::x_www_form_urlencoded;

    web_server::new()
        .post("/add-user", |req, _| {
            println!("{}", req.get_body());
            let body: HashMap<String, String> = x_www_form_urlencoded(req.get_body().as_str());
            format!(
                "Add new user: {}",
                body.get("user").unwrap_or(&String::from("Error!"))
            )
            .into()
        })
        .launch(8080)
        .unwrap();

阅读examples/以了解更多信息!

无运行时依赖