Struct ClientRequest
pub struct ClientRequest { /* private fields */ }Available on crate features
http and icap only.Expand description
A typed HTTP request prepared for a streaming ICAP client transaction.
Preview bytes are retained as cheap Bytes/header-map clones so a 204 or
206 result can replay the original message. Advertising Allow: 204
outside Preview retains streamed original frames until the ICAP decision,
within finite configurable ReplayLimits.
Implementations§
§impl ClientRequest
impl ClientRequest
pub fn reqmod<B>(
line: RequestLine<'_>,
headers: &[Header<'_>],
request: Request<B>,
preview: Option<Preview>,
) -> Result<ClientRequest, Error>
pub fn reqmod<B>( line: RequestLine<'_>, headers: &[Header<'_>], request: Request<B>, preview: Option<Preview>, ) -> Result<ClientRequest, Error>
Build a REQMOD request around one streaming HTTP request.
pub fn respmod<R, B>(
line: RequestLine<'_>,
headers: &[Header<'_>],
request: &Request<R>,
response: Response<B>,
preview: Option<Preview>,
) -> Result<ClientRequest, Error>
pub fn respmod<R, B>( line: RequestLine<'_>, headers: &[Header<'_>], request: &Request<R>, response: Response<B>, preview: Option<Preview>, ) -> Result<ClientRequest, Error>
Build a RESPMOD request around original request and response heads.
pub const fn with_replay_limits(self, limits: ReplayLimits) -> ClientRequest
pub const fn with_replay_limits(self, limits: ReplayLimits) -> ClientRequest
Set the finite bounds used while retaining original body frames.
pub fn set_replay_limits(&mut self, limits: ReplayLimits) -> &mut ClientRequest
pub fn set_replay_limits(&mut self, limits: ReplayLimits) -> &mut ClientRequest
Set the finite bounds used while retaining original body frames.
pub const fn replay_limits(&self) -> ReplayLimits
pub const fn replay_limits(&self) -> ReplayLimits
Return the original-body replay bounds.
pub fn original_request(&self) -> Option<&Request<()>>
pub fn original_request(&self) -> Option<&Request<()>>
Return the original HTTP request head for REQMOD.
pub fn original_response(&self) -> Option<&Response<()>>
pub fn original_response(&self) -> Option<&Response<()>>
Return the original HTTP response head for RESPMOD.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for ClientRequest
impl !RefUnwindSafe for ClientRequest
impl !UnwindSafe for ClientRequest
impl Send for ClientRequest
impl Sync for ClientRequest
impl Unpin for ClientRequest
impl UnsafeUnpin for ClientRequest
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