Enum ProxyRoute
pub enum ProxyRoute {
Direct,
Proxy(ProxyAddress),
}net only.Expand description
A requested route through which a client connection should be established.
This is connection input, not evidence that a proxy was used. Inspect
EstablishedProxyRoute on the connection for the actual outcome after
route fallback and connection-pool selection.
Variants§
Direct
Connect to the requested authority without using a proxy.
Proxy(ProxyAddress)
Connect to the requested authority through the given proxy.
Implementations§
§impl ProxyRoute
impl ProxyRoute
pub const fn proxy_address(&self) -> Option<&ProxyAddress>
pub const fn proxy_address(&self) -> Option<&ProxyAddress>
Return the proxy address when this is a proxied route.
pub fn addresses_proxy(&self, target: &HostWithPort) -> bool
pub fn addresses_proxy(&self, target: &HostWithPort) -> bool
Whether a request for target is addressed to this route’s proxy itself rather than
through it: a MASQUE proxy’s own requests, such as CONNECT-UDP, target the proxy.
Connectors send such a request straight to the proxy, as to an HTTP forward proxy,
and publish EstablishedProxyRoute::Forward, so the proxy’s credentials go with it.
Every other request on the route goes through the proxy.
pub fn into_proxy_address(self) -> Option<ProxyAddress>
pub fn into_proxy_address(self) -> Option<ProxyAddress>
Consume this route and return its proxy address when proxied.
Trait Implementations§
§impl Clone for ProxyRoute
impl Clone for ProxyRoute
§fn clone(&self) -> ProxyRoute
fn clone(&self) -> ProxyRoute
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 ProxyRoute
impl Debug for ProxyRoute
§impl Default for ProxyRoute
impl Default for ProxyRoute
§fn default() -> ProxyRoute
fn default() -> ProxyRoute
impl Eq for ProxyRoute
impl Extension for ProxyRoute
§impl From<ProxyAddress> for ProxyRoute
impl From<ProxyAddress> for ProxyRoute
§fn from(value: ProxyAddress) -> ProxyRoute
fn from(value: ProxyAddress) -> ProxyRoute
§impl From<ProxyRoute> for ProxyRoutes
impl From<ProxyRoute> for ProxyRoutes
§fn from(value: ProxyRoute) -> ProxyRoutes
fn from(value: ProxyRoute) -> ProxyRoutes
§impl FromIterator<ProxyRoute> for ProxyRoutes
impl FromIterator<ProxyRoute> for ProxyRoutes
§fn from_iter<I>(iter: I) -> ProxyRouteswhere
I: IntoIterator<Item = ProxyRoute>,
fn from_iter<I>(iter: I) -> ProxyRouteswhere
I: IntoIterator<Item = ProxyRoute>,
impl NetExtension for ProxyRoute
§impl PartialEq for ProxyRoute
impl PartialEq for ProxyRoute
impl ProxyExtension for ProxyRoute
impl StructuralPartialEq for ProxyRoute
Auto Trait Implementations§
impl !Freeze for ProxyRoute
impl RefUnwindSafe for ProxyRoute
impl Send for ProxyRoute
impl Sync for ProxyRoute
impl Unpin for ProxyRoute
impl UnsafeUnpin for ProxyRoute
impl UnwindSafe for ProxyRoute
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<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
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<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