#web-server #coroutine #friendly #nano #response

server_nano

一个快速轻量级的Rust HTTP服务器实现

8个版本

0.2.1 2024年4月4日
0.2.0 2024年4月4日
0.1.5 2023年4月11日

#271 in HTTP服务器

MIT 许可证

34KB
870

server_nano

一个由Rust编写并受express启发的微型、快速和友好的Web服务器。它使用may来处理协程,是目前最快的(Unix)服务器之一。

用法

首先,将以下内容添加到您的 Cargo.toml

[dependencies]
server_nano = "0.1.4"

现在,您可以编写您的服务器

use server_nano::{json, Server};

fn main() {
    let mut app = Server::new();

    app.get("/", |_, res| res.send("welcome to home page!"));

    app.get("/user/:id", |req, res| {
        let user_id = req.parameter("id").unwrap();
        let json_value = json!({ "username": user_id });
        res.json(&json_value)
    });

    app.get("/product/:name", |req, res| {
        let product_name = req.parameter("name").unwrap();
        let message = &format!("Welcome to product page of product: {}", product_name);
        res.send(message)
    });

    app.post("/test", |_, res| res.send("test!"));

    app.post("/settings", |req, res| {
        let json_body = req.json_body().unwrap();

        let response = json!({
            "success": true,
            "message": "Settings updated successfully",
            "body": json_body
        });
        res.json(&response)
    });

    app.listen("127.0.0.1:8080").unwrap();
}

依赖项

~4–30MB
~445K SLoC