Skip to main content

Crate trillium_cookies

Crate trillium_cookies 

Source
Expand description

§example

use trillium::Conn;
use trillium_cookies::{CookiesConnExt, CookiesHandler, cookie::Cookie};
use trillium_testing::{TestServer, harness};

async fn handler_that_uses_cookies(conn: Conn) -> Conn {
    let content = if let Some(cookie_value) = conn.cookies().get("some_cookie") {
        format!("current cookie value: {}", cookie_value.value())
    } else {
        String::from("no cookie value set")
    };

    conn.with_cookie(("some_cookie", "some-cookie-value"))
        .ok(content)
}

let handler = (CookiesHandler::new(), handler_that_uses_cookies);
let app = TestServer::new(handler).await;

app.get("/")
    .await
    .assert_ok()
    .assert_body("no cookie value set")
    .assert_header("set-cookie", "some_cookie=some-cookie-value");

app.get("/")
    .with_request_header("cookie", "some_cookie=trillium")
    .await
    .assert_ok()
    .assert_body("current cookie value: trillium")
    .assert_header("set-cookie", "some_cookie=some-cookie-value");

Re-exports§

pub use cookie;

Structs§

CookiesHandler
The trillium cookie handler. See crate level docs for an example. This must run before any handlers access the cookie jar.

Traits§

CookiesConnExt
Extension trait adding cookie capacities to Conn.

Functions§

cookies
Alias for CookiesHandler::new()