[][src]Trait roa::cookie::CookieSetter

pub trait CookieSetter {
    fn set_cookie(&mut self, cookie: Cookie) -> Result;
}

An extension to set cookie.

Required methods

Set a cookie in pecent encoding, should not return Err.

Example

use roa::cookie::Cookie;
use roa::App;
use roa::preload::*;
use roa::http::{StatusCode, header::COOKIE};
use async_std::task::spawn;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let (addr, server) = App::new(())
        .end( |mut ctx| async move {
            ctx.set_cookie(Cookie::new("name", "Hexi Lee"))?;
            Ok(())
        })
        .run()?;
    spawn(server);
    let resp = reqwest::get(&format!("http://{}", addr)).await?;
    assert_eq!(StatusCode::OK, resp.status());
    let cookie = resp.cookies().find(|cookie| cookie.name() == "name");
    assert!(cookie.is_some());
    assert_eq!("Hexi%20Lee", cookie.unwrap().value());
    Ok(())
}
Loading content...

Implementors

impl<S: State> CookieSetter for Context<S>[src]

Loading content...