pub struct HostSource { /* private fields */ }Expand description
A CSP host-source value: optional scheme, a Domain (which may
itself be a wildcard subdomain), optional port (concrete or *),
optional path.
Construct directly from a Domain for the common case, or via
HostSource::try_parse from a wire-format string.
Implementations§
Source§impl HostSource
impl HostSource
Sourcepub fn new(host: Domain) -> HostSource
pub fn new(host: Domain) -> HostSource
Wrap a bare Domain — no scheme, port, or path.
Sourcepub fn try_parse(s: &str) -> Result<HostSource, Error>
pub fn try_parse(s: &str) -> Result<HostSource, Error>
Parse a CSP host-source from its wire form
([scheme://]host[:port][/path]). Hosts with a leading *.
wildcard, port *, and arbitrary path tails are all accepted.
Sourcepub fn port(&self) -> Option<HostSourcePort>
pub fn port(&self) -> Option<HostSourcePort>
The optional port component.
Sourcepub fn path(&self) -> Option<&str>
pub fn path(&self) -> Option<&str>
The optional path component (kept verbatim, including the
leading /).
Sourcepub fn with_scheme(self, scheme: Protocol) -> HostSource
pub fn with_scheme(self, scheme: Protocol) -> HostSource
Attach a scheme component (rendered as <scheme>://…).
Sourcepub fn set_scheme(&mut self, scheme: Protocol) -> &mut HostSource
pub fn set_scheme(&mut self, scheme: Protocol) -> &mut HostSource
Attach a scheme component (rendered as <scheme>://…).
Sourcepub fn with_port(self, port: u16) -> HostSource
pub fn with_port(self, port: u16) -> HostSource
Attach a concrete port component.
Sourcepub fn set_port(&mut self, port: u16) -> &mut HostSource
pub fn set_port(&mut self, port: u16) -> &mut HostSource
Attach a concrete port component.
Sourcepub fn with_any_port(self) -> HostSource
pub fn with_any_port(self) -> HostSource
Attach the * (any-port) component.
Sourcepub fn set_any_port(&mut self) -> &mut HostSource
pub fn set_any_port(&mut self) -> &mut HostSource
Attach the * (any-port) component.
Trait Implementations§
Source§impl Clone for HostSource
impl Clone for HostSource
Source§fn clone(&self) -> HostSource
fn clone(&self) -> HostSource
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HostSource
impl Debug for HostSource
Source§impl Display for HostSource
impl Display for HostSource
impl Eq for HostSource
Source§impl From<Domain> for HostSource
impl From<Domain> for HostSource
Source§fn from(host: Domain) -> HostSource
fn from(host: Domain) -> HostSource
Source§impl From<HostSource> for SourceExpression
impl From<HostSource> for SourceExpression
Source§fn from(h: HostSource) -> SourceExpression
fn from(h: HostSource) -> SourceExpression
Source§impl FromStr for HostSource
impl FromStr for HostSource
Source§impl Hash for HostSource
impl Hash for HostSource
Source§impl PartialEq for HostSource
impl PartialEq for HostSource
Source§fn eq(&self, other: &HostSource) -> bool
fn eq(&self, other: &HostSource) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for HostSource
Source§impl<'a> TryFrom<&'a str> for HostSource
impl<'a> TryFrom<&'a str> for HostSource
Auto Trait Implementations§
impl !Freeze for HostSource
impl RefUnwindSafe for HostSource
impl Send for HostSource
impl Sync for HostSource
impl Unpin for HostSource
impl UnsafeUnpin for HostSource
impl UnwindSafe for HostSource
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
Source§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,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.