#middleware #web-framework #hyper #框架 #web #async

hypers_middleware

hypers Web框架的中间件支持

1个不稳定版本

0.0.0 2023年11月29日

#238 in #middleware

Apache-2.0

19KB
364

⚡️ 快速入门

使用cors中间件

使用hypers_middleware的cors功能

use hypers::prelude::*;
use hypers_middleware::Cors;

#[get("return_str")]
async fn return_str() -> &'static str {
    "return_str"
}

fn main() -> Result<()> {
    let mut root = Router::new("/");
    let cors = Cors::new()
        .allow_origin("*")
        .allow_methods(vec!["GET", "POST"])
        .allow_headers(vec![
            "CONTENT-TYPE",
            "Access-Control-Request-Method",
            "Access-Control-Allow-Origin",
            "Access-Control-Allow-Headers",
            "Access-Control-Max-Age",
        ]);
    root.hook(cors, vec!["/"], None);
    root.handler(return_str);
    println!("root = {:#?}",root);
    hypers::run(root, "127.0.0.1:7878")
}

使用压缩中间件

使用hypers的静态文件功能

使用hypers_middleware的压缩功能

use hypers::prelude::*;
use hypers_middleware::Compression;

fn main() -> Result<()> {
    let mut root = Router::new("/");

    root.hook(Compression::Deflate,vec!["/"],None);

    root.get("readme",StaticFile::new("hypers_middleware/README.md"));

    println!("root = {:#?}",root);

    hypers::run(root,"127.0.0.1:7878")
}

依赖项

~14–29MB
~530K SLoC