Enum AllowlistSource
pub enum AllowlistSource {
SelfOrigin,
Wildcard,
Src,
Unknown(String),
}http only.Expand description
Allowlist token shapes per the W3C Permissions Policy spec.
The deny-all directive is represented by an empty
PermissionsPolicyDirective::allow_list (no None variant
here) so that the typed state and the wire form
(feature=()) line up one-to-one.
Specific origins (e.g. "https://example.com") land in the
auto-generated Unknown variant — use
Self::origin to construct one with the required RFC 8941
sf-string double-quoting baked in.
Variants§
SelfOrigin
self — same-origin only (no surrounding quotes on the
wire, unlike CSP).
Wildcard
* — any origin.
Src
src — legacy <iframe allow=…> token, lets the iframe
inherit from its src attribute. Rare outside iframe
context.
Unknown(String)
Implementations§
§impl AllowlistSource
impl AllowlistSource
pub fn as_str(&self) -> &str
pub fn as_smol_str(&self) -> SmolStr
§impl AllowlistSource
impl AllowlistSource
pub fn strict_parse(s: &str) -> Option<AllowlistSource>
pub fn strict_parse(s: &str) -> Option<AllowlistSource>
Same as FromStr or From<&str> but returning
None for unknown values
§impl AllowlistSource
impl AllowlistSource
pub fn origin(origin: impl AsRef<str>) -> AllowlistSource
pub fn origin(origin: impl AsRef<str>) -> AllowlistSource
Construct an origin allow-list source from a bare origin string
— the surrounding RFC 8941 sf-string double-quotes are added
for you. Pass https://example.com, not "https://example.com".
Trait Implementations§
§impl Clone for AllowlistSource
impl Clone for AllowlistSource
§fn clone(&self) -> AllowlistSource
fn clone(&self) -> AllowlistSource
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for AllowlistSource
impl Debug for AllowlistSource
§impl<'de> Deserialize<'de> for AllowlistSource
impl<'de> Deserialize<'de> for AllowlistSource
§fn deserialize<D>(
deserializer: D,
) -> Result<AllowlistSource, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<AllowlistSource, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
§impl Display for AllowlistSource
impl Display for AllowlistSource
impl Eq for AllowlistSource
§impl<'a> From<&'a str> for AllowlistSource
impl<'a> From<&'a str> for AllowlistSource
§fn from(s: &'a str) -> AllowlistSource
fn from(s: &'a str) -> AllowlistSource
§impl From<String> for AllowlistSource
impl From<String> for AllowlistSource
§fn from(s: String) -> AllowlistSource
fn from(s: String) -> AllowlistSource
§impl FromStr for AllowlistSource
impl FromStr for AllowlistSource
§type Err = Infallible
type Err = Infallible
§fn from_str(
s: &str,
) -> Result<AllowlistSource, <AllowlistSource as FromStr>::Err>
fn from_str( s: &str, ) -> Result<AllowlistSource, <AllowlistSource as FromStr>::Err>
s to return a value of this type. Read more§impl Hash for AllowlistSource
impl Hash for AllowlistSource
§impl PartialEq for AllowlistSource
impl PartialEq for AllowlistSource
§impl Serialize for AllowlistSource
impl Serialize for AllowlistSource
§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl StructuralPartialEq for AllowlistSource
Auto Trait Implementations§
impl Freeze for AllowlistSource
impl RefUnwindSafe for AllowlistSource
impl Send for AllowlistSource
impl Sync for AllowlistSource
impl Unpin for AllowlistSource
impl UnsafeUnpin for AllowlistSource
impl UnwindSafe for AllowlistSource
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn rama_try_from(value: T) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
type Error = <U as RamaTryFrom<T, CrateMarker>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T, CrateMarker>>::Error>
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.
§impl<V, F> ValueFormatter<&V> for F
impl<V, F> ValueFormatter<&V> for F
§fn format_value(writer: impl ValueWriter, value: &&V)
fn format_value(writer: impl ValueWriter, value: &&V)
value to writer§impl<V, F> ValueFormatter<Arc<V>> for F
impl<V, F> ValueFormatter<Arc<V>> for F
§fn format_value(writer: impl ValueWriter, value: &Arc<V>)
fn format_value(writer: impl ValueWriter, value: &Arc<V>)
value to writer§impl<V, F> ValueFormatter<Box<V>> for F
impl<V, F> ValueFormatter<Box<V>> for F
§fn format_value(writer: impl ValueWriter, value: &Box<V>)
fn format_value(writer: impl ValueWriter, value: &Box<V>)
value to writer§impl<V, F> ValueFormatter<Cow<'_, V>> for F
impl<V, F> ValueFormatter<Cow<'_, V>> for F
§fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)
fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)
value to writer§impl<V, F> ValueFormatter<Option<V>> for Fwhere
F: ValueFormatter<V> + ?Sized,
impl<V, F> ValueFormatter<Option<V>> for Fwhere
F: ValueFormatter<V> + ?Sized,
§fn format_value(writer: impl ValueWriter, value: &Option<V>)
fn format_value(writer: impl ValueWriter, value: &Option<V>)
value to writer