[−][src]Struct actix_web::cookie::PrivateJar
A child cookie jar that provides authenticated encryption for its cookies.
A private child jar signs and encrypts all the cookies added to it and
verifies and decrypts cookies retrieved from it. Any cookies stored in a
PrivateJar
are simultaneously assured confidentiality, integrity, and
authenticity. In other words, clients cannot discover nor tamper with the
contents of a cookie, nor can they fabricate cookie data.
This type is only available when the secure
feature is enabled.
Methods
impl<'a> PrivateJar<'a>
[src]
pub fn get(&self, name: &str) -> Option<Cookie<'static>>
[src]
Returns a reference to the Cookie
inside this jar with the name name
and authenticates and decrypts the cookie's value, returning a Cookie
with the decrypted value. If the cookie cannot be found, or the cookie
fails to authenticate or decrypt, None
is returned.
Example
use actix_http::cookie::{CookieJar, Cookie, Key}; let key = Key::generate(); let mut jar = CookieJar::new(); let mut private_jar = jar.private(&key); assert!(private_jar.get("name").is_none()); private_jar.add(Cookie::new("name", "value")); assert_eq!(private_jar.get("name").unwrap().value(), "value");
pub fn add(&mut self, cookie: Cookie<'static>)
[src]
Adds cookie
to the parent jar. The cookie's value is encrypted with
authenticated encryption assuring confidentiality, integrity, and
authenticity.
Example
use actix_http::cookie::{CookieJar, Cookie, Key}; let key = Key::generate(); let mut jar = CookieJar::new(); jar.private(&key).add(Cookie::new("name", "value")); assert_ne!(jar.get("name").unwrap().value(), "value"); assert_eq!(jar.private(&key).get("name").unwrap().value(), "value");
pub fn add_original(&mut self, cookie: Cookie<'static>)
[src]
Adds an "original" cookie
to parent jar. The cookie's value is
encrypted with authenticated encryption assuring confidentiality,
integrity, and authenticity. Adding an original cookie does not affect
the CookieJar::delta()
computation. This method is intended to be used to seed the cookie jar
with cookies received from a client's HTTP message.
For accurate delta
computations, this method should not be called
after calling remove
.
Example
use actix_http::cookie::{CookieJar, Cookie, Key}; let key = Key::generate(); let mut jar = CookieJar::new(); jar.private(&key).add_original(Cookie::new("name", "value")); assert_eq!(jar.iter().count(), 1); assert_eq!(jar.delta().count(), 0);
pub fn remove(&mut self, cookie: Cookie<'static>)
[src]
Removes cookie
from the parent jar.
For correct removal, the passed in cookie
must contain the same path
and domain
as the cookie that was initially set.
See CookieJar::remove for more details.
Example
use actix_http::cookie::{CookieJar, Cookie, Key}; let key = Key::generate(); let mut jar = CookieJar::new(); let mut private_jar = jar.private(&key); private_jar.add(Cookie::new("name", "value")); assert!(private_jar.get("name").is_some()); private_jar.remove(Cookie::named("name")); assert!(private_jar.get("name").is_none());
Auto Trait Implementations
impl<'a> Send for PrivateJar<'a>
impl<'a> Sync for PrivateJar<'a>
impl<'a> Unpin for PrivateJar<'a>
impl<'a> !UnwindSafe for PrivateJar<'a>
impl<'a> RefUnwindSafe for PrivateJar<'a>
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,