| Crates.io | axum-cookie |
| lib.rs | axum-cookie |
| version | 0.2.3 |
| created_at | 2025-01-03 16:43:21.060764+00 |
| updated_at | 2025-03-03 19:52:18.405054+00 |
| description | Cookie extractor middleware for axum |
| homepage | |
| repository | https://github.com/magwoo/axum-cookie |
| max_upload_size | |
| id | 1502612 |
| size | 28,704 |
This library provides a middleware layer for integrating cookie management into Axum applications.
It allows parsing cookies from incoming requests, managing cookies
and setting Set-Cookie headers in HTTP responses.
Set-Cookie headers.Add the library to your Cargo.toml:
[dependencies]
...
+ axum-cookie = "0.2.3"
use axum::{Router, routing::get};
use axum_cookie::prelude::*;
async fn handler(cookie: CookieManager) -> &'static str {
// Retrieve a cookie
if let Some(cookie) = cookie.get("session") {
println!("Cookie value: {}", cookie.value());
}
// Add a cookie
cookie.add(Cookie::new("session", "abc123"));
"Hello, cookies!"
}
let app: Router<()> = Router::new()
.route("/", get(handler))
.layer(CookieLayer::default());
use axum::{Router, routing::get};
use axum_cookie::CookieLayer;
let app: Router<()> = Router::new()
.route("/", get(|| async { "Strict mode enabled" }))
.layer(CookieLayer::strict());
CookieManager::new - Creates a new cookie manager with a specified CookieJar.CookieManager::add - Adds a cookie to the jar.CookieManager::remove - Removes a cookie by its name.CookieManager::get - Retrieves a cookie by its name.CookieManager::cookie - Returns all cookies in the jar.CookieManager::as_header_value - Generates Set-Cookie header value for all cookies in the jar.CookieLayer::default - Creates a layer with lenient cookie parsing.CookieLayer::strict - Creates a layer with strict cookie parsing.Set-Cookie headers to responses.Contributions are welcome! Please open an issue or submit a pull request on GitHub.
This project is licensed under the MIT License.