Struct Request
#[non_exhaustive]pub struct Request {
pub authority: HostWithPort,
pub protocol: Option<Protocol>,
pub http_version: Option<Version>,
pub extensions: Extensions,
}tcp only.Expand description
A request to establish a Tcp Connection.
This can be used in case you operate on a layer below an application layer such as Http.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.protocol: Option<Protocol>§http_version: Option<Version>§extensions: ExtensionsImplementations§
§impl Request
impl Request
pub fn new(authority: HostWithPort) -> Request
pub fn new(authority: HostWithPort) -> Request
Create a new Tcp Request with default Extensions.
pub const fn new_with_extensions(
authority: HostWithPort,
extensions: Extensions,
) -> Request
pub const fn new_with_extensions( authority: HostWithPort, extensions: Extensions, ) -> Request
Create a new Tcp Request with given Extensions.
pub fn maybe_with_protocol(self, protocol: Option<Protocol>) -> Request
pub fn maybe_with_protocol(self, protocol: Option<Protocol>) -> Request
Define the application protocol to this Request
on which the established connection will operate.
pub fn maybe_set_protocol(&mut self, protocol: Option<Protocol>) -> &mut Request
pub fn maybe_set_protocol(&mut self, protocol: Option<Protocol>) -> &mut Request
Define the application protocol to this Request
on which the established connection will operate.
pub fn with_protocol(self, protocol: Protocol) -> Request
pub fn with_protocol(self, protocol: Protocol) -> Request
Define the application protocol to this Request
on which the established connection will operate.
pub fn set_protocol(&mut self, protocol: Protocol) -> &mut Request
pub fn set_protocol(&mut self, protocol: Protocol) -> &mut Request
Define the application protocol to this Request
on which the established connection will operate.
pub fn without_protocol(self) -> Request
pub fn without_protocol(self) -> Request
Define the application protocol to this Request
on which the established connection will operate.
pub fn unset_protocol(&mut self) -> &mut Request
pub fn unset_protocol(&mut self) -> &mut Request
Define the application protocol to this Request
on which the established connection will operate.
pub fn maybe_with_http_version(self, version: Option<Version>) -> Request
pub fn maybe_with_http_version(self, version: Option<Version>) -> Request
Define the http version as a hint to the application layer.
pub fn maybe_set_http_version(
&mut self,
version: Option<Version>,
) -> &mut Request
pub fn maybe_set_http_version( &mut self, version: Option<Version>, ) -> &mut Request
Define the http version as a hint to the application layer.
pub fn with_http_version(self, version: Version) -> Request
pub fn with_http_version(self, version: Version) -> Request
Define the http version as a hint to the application layer.
pub fn set_http_version(&mut self, version: Version) -> &mut Request
pub fn set_http_version(&mut self, version: Version) -> &mut Request
Define the http version as a hint to the application layer.
pub fn without_http_version(self) -> Request
pub fn without_http_version(self) -> Request
Define the http version as a hint to the application layer.
pub fn unset_http_version(&mut self) -> &mut Request
pub fn unset_http_version(&mut self) -> &mut Request
Define the http version as a hint to the application layer.
Trait Implementations§
§impl AuthorityInputExt for Request
impl AuthorityInputExt for Request
host[:port]), or None if none is resolvable.§fn host_as_domain(&self) -> Option<Domain>
fn host_as_domain(&self) -> Option<Domain>
Domain, or None if absent or not a domain
(e.g. an IP literal).§impl ExtensionsRef for Request
impl ExtensionsRef for Request
§fn extensions(&self) -> &Extensions
fn extensions(&self) -> &Extensions
Extensions store§impl HttpVersionInputExt for Request
impl HttpVersionInputExt for Request
§fn http_version(&self) -> Option<Version>
fn http_version(&self) -> Option<Version>
None for non-HTTP inputs.§impl ProtocolInputExt for Request
impl ProtocolInputExt for Request
§impl TransportProtocolInputExt for Request
impl TransportProtocolInputExt for Request
§fn transport_protocol(&self) -> TransportProtocol
fn transport_protocol(&self) -> TransportProtocol
Auto Trait Implementations§
impl !Freeze for Request
impl RefUnwindSafe for Request
impl Send for Request
impl Sync for Request
impl Unpin for Request
impl UnsafeUnpin for Request
impl UnwindSafe for Request
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> 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> TransportAddressInputExt for T
impl<T> TransportAddressInputExt for T
§fn host_with_port(&self) -> Option<HostWithPort>
fn host_with_port(&self) -> Option<HostWithPort>
host:port to connect to: the authority’s port if set, else the
protocol’s default port. None when no host (or no port) resolves.§fn host_with_port_or(&self, default_port: u16) -> Option<HostWithPort>
fn host_with_port_or(&self, default_port: u16) -> Option<HostWithPort>
host_with_port but with default_port as
the ultimate fallback (authority port → protocol default → default_port),
so it yields Some whenever an authority resolves at all.§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