15 个版本 (9 个破坏性更新)
0.10.0 | 2023年11月27日 |
---|---|
0.9.0 | 2023年2月12日 |
0.8.0 | 2022年11月25日 |
0.7.0 | 2022年6月9日 |
0.3.0 | 2021年11月18日 |
#93 in 网页编程
63,638 每月下载量
用于 45 个 Crates (18 个直接使用)
26KB
455 行
tower-cookies
基于 tower 构建的 Cookie 管理中间件。
示例
使用 axum
use axum::{routing::get, Router};
use std::net::SocketAddr;
use tower_cookies::{Cookie, CookieManagerLayer, Cookies};
#[tokio::main]
async fn main() {
let app = Router::new()
.route("/", get(handler))
.layer(CookieManagerLayer::new());
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
let listener = tokio::net::TcpListener::bind(&addr).await.unwrap();
axum::serve(listener, app.into_make_service())
.await
.unwrap();
}
async fn handler(cookies: Cookies) -> &'static str {
cookies.add(Cookie::new("hello_world", "hello_world"));
"Check your cookies."
}
examples/counter.rs 中的完整 CRUD Cookie 示例
安全性
此 crate 使用 #![forbid(unsafe_code)]
来确保所有内容都在 100% 安全的 Rust 中实现。
贡献
我们感谢所有类型的贡献,谢谢!
关于 README 的说明
大多数 README 是通过 cargo-sync-readme 自动从 crate 文档复制的。这样 README 总是与文档同步,并且示例已测试。
所以如果你想要更改 <!-- cargo-sync-readme start -->
和 <!-- cargo-sync-readme end -->
标记之间的 README 的一部分,请直接编辑 README.md
,而是更改 src/lib.rs
上的文档,然后与 README 同步
cargo sync-readme
(确保已安装 cargo 命令)
cargo install cargo-sync-readme
如果你已安装 rusty-hook,更改将在提交时自动应用。
许可证
本项目采用 MIT 许可证。
依赖
~3–10MB
~76K SLoC