4 个版本

0.2.0 2024 年 8 月 19 日
0.1.2 2024 年 8 月 19 日
0.1.0 2024 年 5 月 13 日
0.0.2 2024 年 2 月 23 日
0.0.1 2023 年 11 月 25 日

#288HTTP 服务器

MIT 许可证

41KB
882

mini-server

小型 Rust 服务器

cargo add mini-server

HTTP 服务器

use mini_server::*;

fn main() {
    let mut app = HTTPServer::default();

    app.get("/", |_, _| {
        let mut response = HTTPResponse::default();
        response.set_body(b"Hello World!".to_vec());

        response
    });

    app.run();
}

动态路径

路径是一个包含动态变量的表达式。

  • 基本路径: //this/is/a/path,...
  • 动态路径: /this/is/a/@varibale/this/is/another/#variable

#@ 是动态值的前缀。 # 用于表示数字,而 @ 用于表示字符串

use mini_server::*;

fn main() {
  let mut app = HTTPServer::default();

  app.get("/hello/@name/#age", |_, exprs| {
    let name = expand!(exprs, "name", PathExpr::String);
    let age = expand!(exprs, "age", PathExpr::Number);

    let mut response = HTTPResponse::default();
    response.set_body(
      format!("Hello {name}, you are {age}!")
        .as_bytes()
        .to_vec(),
    );

    response
  });
}

示例

运行示例

cargo run --example $name

依赖项

~120KB