Struct IncomingRequest
pub struct IncomingRequest { /* private fields */ }Available on crate features
icap and std only.Expand description
An owned ICAP request dispatched by Server.
Its metadata and body handle are lifetime-independent so ordinary Rama
Service layers can wrap the request service. Entity
bytes remain bounded, backpressured, and streaming through IncomingBody.
Implementations§
§impl IncomingRequest
impl IncomingRequest
pub fn into_http(self) -> Result<IncomingRequest, Error>
pub fn into_http(self) -> Result<IncomingRequest, Error>
Parse the encapsulated HTTP heads and retain its streaming body.
pub fn into_http_with(
self,
parser: &HeadParser,
) -> Result<IncomingRequest, Error>
pub fn into_http_with( self, parser: &HeadParser, ) -> Result<IncomingRequest, Error>
Parse HTTP heads using explicit bounds and retain the streaming body.
§impl IncomingRequest
impl IncomingRequest
pub const fn request(&self) -> &Request
pub const fn request(&self) -> &Request
Return the owned ICAP request metadata and encapsulated HTTP heads.
pub const fn body(&self) -> &IncomingBody
pub const fn body(&self) -> &IncomingBody
Return the streaming request body.
pub const fn body_mut(&mut self) -> &mut IncomingBody
pub const fn body_mut(&mut self) -> &mut IncomingBody
Return the mutable streaming request body.
pub fn into_parts(self) -> (IncomingRequestParts, IncomingBody)
pub fn into_parts(self) -> (IncomingRequestParts, IncomingBody)
Split the request into named metadata and its body.
Trait Implementations§
§impl Debug for IncomingRequest
impl Debug for IncomingRequest
§impl ExtensionsRef for IncomingRequest
impl ExtensionsRef for IncomingRequest
§fn extensions(&self) -> &Extensions
fn extensions(&self) -> &Extensions
Get reference to the underlying
Extensions store§impl<S> Service<IncomingRequest> for HttpService<S>where
S: Service<IncomingRequest, Output = OutgoingResponse>,
<S as Service<IncomingRequest>>::Error: Into<Box<dyn Error + Send + Sync>>,
impl<S> Service<IncomingRequest> for HttpService<S>where
S: Service<IncomingRequest, Output = OutgoingResponse>,
<S as Service<IncomingRequest>>::Error: Into<Box<dyn Error + Send + Sync>>,
§type Output = OutgoingResponse
type Output = OutgoingResponse
The type of the output returned by the service.
§async fn serve(
&self,
request: IncomingRequest,
) -> Result<<HttpService<S> as Service<IncomingRequest>>::Output, <HttpService<S> as Service<IncomingRequest>>::Error>
async fn serve( &self, request: IncomingRequest, ) -> Result<<HttpService<S> as Service<IncomingRequest>>::Output, <HttpService<S> as Service<IncomingRequest>>::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.
Auto Trait Implementations§
impl !Freeze for IncomingRequest
impl !RefUnwindSafe for IncomingRequest
impl !UnwindSafe for IncomingRequest
impl Send for IncomingRequest
impl Sync for IncomingRequest
impl Unpin for IncomingRequest
impl UnsafeUnpin for IncomingRequest
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
§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