#http-header #header #response-headers #tower-http #middleware #http #tower

tower-default-headers

tower兼容的中间件,用于设置默认HTTP响应头

1个不稳定版本

0.1.1 2021年11月25日

1388HTTP服务器

38 每月下载量

MIT 许可证

10KB
133 代码行

tower-default-headers-rs 状态 Gitlab流水线状态 Crates.io docs.rs

tower兼容的中间件,用于设置默认HTTP响应头

另请参阅


lib.rs:

在构建HTTP服务时,您可能会发现许多/所有端点都需要返回相同的HTTP头集合,因此可能会发现这个crate将它们集中到中间件中是一种方便的方法。

此中间件将应用这些默认头到任何尚未具有相同名称的头的输出响应。

示例

use axum::{
    body::Body,
    http::header::{HeaderMap, HeaderValue, X_FRAME_OPTIONS},
    routing::{get, Router},
};
use tower_default_headers::DefaultHeadersLayer;

let mut default_headers = HeaderMap::new();
default_headers.insert(X_FRAME_OPTIONS, HeaderValue::from_static("deny"));

let app = Router::new()
    .route("/", get(|| async { "hello, world!" }))
    .layer(DefaultHeadersLayer::new(default_headers));

axum::Server::bind(&"0.0.0.0:3000".parse().unwrap())
    .serve(app.into_make_service())
    .await
    .unwrap();

依赖项

~1.4–2.1MB
~42K SLoC