Struct SystemProxyPacRequest
pub struct SystemProxyPacRequest {
pub extensions: Extensions,
pub uri: Uri,
}Available on crate feature
net only.Expand description
The request information passed to a system PAC resolver.
When produced by SystemProxyLayer, the URI is absolute, has a root path
when the original target omitted one, and omits the scheme’s default port.
The extension store is a cheap clone of the input’s store. This keeps caller
metadata available to custom PAC implementations without borrowing the
request across an await point.
Fields§
§extensions: ExtensionsMetadata cloned from the routed service input.
uri: UriThe normalized absolute URI for which routes are requested.
Implementations§
§impl SystemProxyPacRequest
impl SystemProxyPacRequest
pub fn new(
extensions: Extensions,
uri: Uri,
) -> Result<SystemProxyPacRequest, Box<dyn Error + Send + Sync>>
pub fn new( extensions: Extensions, uri: Uri, ) -> Result<SystemProxyPacRequest, Box<dyn Error + Send + Sync>>
Create a PAC request from an absolute request URI and its extensions.
Trait Implementations§
§impl Clone for SystemProxyPacRequest
impl Clone for SystemProxyPacRequest
§fn clone(&self) -> SystemProxyPacRequest
fn clone(&self) -> SystemProxyPacRequest
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for SystemProxyPacRequest
impl Debug for SystemProxyPacRequest
§impl ExtensionsRef for SystemProxyPacRequest
impl ExtensionsRef for SystemProxyPacRequest
§fn extensions(&self) -> &Extensions
fn extensions(&self) -> &Extensions
Get reference to the underlying
Extensions store§impl Service<SystemProxyPacRequest> for SystemPacResolver
impl Service<SystemProxyPacRequest> for SystemPacResolver
§type Output = Option<ProxyRoutes>
type Output = Option<ProxyRoutes>
The type of the output returned by the service.
§async fn serve(
&self,
request: SystemProxyPacRequest,
) -> Result<<SystemPacResolver as Service<SystemProxyPacRequest>>::Output, <SystemPacResolver as Service<SystemProxyPacRequest>>::Error>
async fn serve( &self, request: SystemProxyPacRequest, ) -> Result<<SystemPacResolver as Service<SystemProxyPacRequest>>::Output, <SystemPacResolver as Service<SystemProxyPacRequest>>::Error>
Serve an output or an error for the given input
§fn boxed(self) -> BoxService<Input, Self::Output, Self::Error>
fn boxed(self) -> BoxService<Input, Self::Output, Self::Error>
Box this service to allow for dynamic dispatch.
§impl UriInputExt for SystemProxyPacRequest
impl UriInputExt for SystemProxyPacRequest
Auto Trait Implementations§
impl Freeze for SystemProxyPacRequest
impl RefUnwindSafe for SystemProxyPacRequest
impl Send for SystemProxyPacRequest
impl Sync for SystemProxyPacRequest
impl Unpin for SystemProxyPacRequest
impl UnsafeUnpin for SystemProxyPacRequest
impl UnwindSafe for SystemProxyPacRequest
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
Mutably borrows from an owned value. Read more
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> ⓘ
Converts
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> ⓘ
Converts
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>
Wrap the input message
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>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more