Struct Host
pub struct Host(pub Host);http only.Expand description
Extractor that resolves the hostname of the request.
Tuple Fields§
§0: HostMethods from Deref<Target = Host>§
pub fn try_as_domain(
&self,
) -> Result<Cow<'_, Domain>, Box<dyn Error + Send + Sync>>
Available on crate feature net only.
pub fn try_as_domain( &self, ) -> Result<Cow<'_, Domain>, Box<dyn Error + Send + Sync>>
net only.Returns true if this is the Host::Name variant.
View as a Domain, bridging the Uninterpreted variant.
Cow::Borrowed for Name; Cow::Owned for an Uninterpreted
whose pct-decoded (and IDN-normalized) bytes parse as a domain.
Address and IPvFuture-bracketed Uninterpreted fail.
pub fn try_as_ip(&self) -> Result<IpAddr, Box<dyn Error + Send + Sync>>
Available on crate feature net only.
pub fn try_as_ip(&self) -> Result<IpAddr, Box<dyn Error + Send + Sync>>
net only.View as an IpAddr, bridging the Uninterpreted variant.
Returns the address from Address directly; Uninterpreted
succeeds when its pct-decoded bytes parse as an IPv4 or IPv6
address. Name and IPvFuture-bracketed Uninterpreted fail.
pub fn view(&self) -> HostRef<'_>
Available on crate feature net only.
pub fn view(&self) -> HostRef<'_>
net only.Borrowed view. Same shape as From<&Self> for HostRef but
surfaces the borrowed view as an inherent method so call sites
don’t need the trait in scope.
pub fn to_str(&self) -> Cow<'_, str>
Available on crate feature net only.
pub fn to_str(&self) -> Cow<'_, str>
net only.Returns this host as a string. See HostRef::to_str for the
borrow / allocation behavior.
pub fn as_unicode(&self) -> Cow<'_, str>
Available on crate features idna and net only.
pub fn as_unicode(&self) -> Cow<'_, str>
idna and net only.Returns the Unicode (display) form of this host. For named hosts,
any xn-- A-labels are inverse-encoded via UTS #46. IP addresses
are rendered to their standard textual form.
Cow::Borrowed when no conversion is needed; Cow::Owned for
IP addresses and IDN A-labels that actually require decoding.
pub const LOCALHOST_IPV4: Host
pub const LOCALHOST_IPV6: Host
pub const LOCALHOST_NAME: Host
pub const DEFAULT_IPV4: Host
pub const DEFAULT_IPV6: Host
pub const BROADCAST_IPV4: Host
pub const EXAMPLE_NAME: Host
Trait Implementations§
§impl<State> FromPartsStateRefPair<State> for Host
impl<State> FromPartsStateRefPair<State> for Host
§type Rejection = MissingHost
type Rejection = MissingHost
§async fn from_parts_state_ref_pair(
parts: &Parts,
_state: &State,
) -> Result<Host, <Host as FromPartsStateRefPair<State>>::Rejection>
async fn from_parts_state_ref_pair( parts: &Parts, _state: &State, ) -> Result<Host, <Host as FromPartsStateRefPair<State>>::Rejection>
Auto Trait Implementations§
impl !Freeze for Host
impl RefUnwindSafe for Host
impl Send for Host
impl Sync for Host
impl Unpin for Host
impl UnsafeUnpin for Host
impl UnwindSafe for Host
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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<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