cookie_monster/cookie/
same_site.rs1use std::fmt::{self, Write};
2
3use crate::Cookie;
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
6pub enum SameSite {
7 Strict,
8 Lax,
9 None,
10}
11
12impl Cookie {
13 pub(crate) fn serialize_same_site(&self, buf: &mut String) {
14 let Some(same_site) = self.same_site else {
15 return;
16 };
17
18 let _ = write!(buf, "; SameSite={same_site}");
19 }
20}
21
22impl fmt::Display for SameSite {
23 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
24 match *self {
25 SameSite::Strict => write!(f, "Strict"),
26 SameSite::Lax => write!(f, "Lax"),
27 SameSite::None => write!(f, "None"),
28 }
29 }
30}