Struct StreamForwardService
#[non_exhaustive]pub struct StreamForwardService;Expand description
A proxy Service which takes a ProxyRequest
and copies the bytes of both the source and target Streams
bidirectionally.
Implementations§
§impl StreamForwardService
impl StreamForwardService
pub fn new() -> StreamForwardService
pub fn new() -> StreamForwardService
Create a new StreamForwardService.
Trait Implementations§
§impl Clone for StreamForwardService
impl Clone for StreamForwardService
§fn clone(&self) -> StreamForwardService
fn clone(&self) -> StreamForwardService
Returns a duplicate of the value. Read more
1.0.0 · 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 StreamForwardService
impl Debug for StreamForwardService
§impl Default for StreamForwardService
impl Default for StreamForwardService
§fn default() -> StreamForwardService
fn default() -> StreamForwardService
Returns the “default value” for a type. Read more
§impl<S, T> Service<ProxyRequest<S, T>> for StreamForwardService
impl<S, T> Service<ProxyRequest<S, T>> for StreamForwardService
§type Error = OpaqueError
type Error = OpaqueError
The type of error returned by the service.
§async fn serve(
&self,
__arg1: ProxyRequest<S, T>,
) -> Result<<StreamForwardService as Service<ProxyRequest<S, T>>>::Response, <StreamForwardService as Service<ProxyRequest<S, T>>>::Error>
async fn serve( &self, __arg1: ProxyRequest<S, T>, ) -> Result<<StreamForwardService as Service<ProxyRequest<S, T>>>::Response, <StreamForwardService as Service<ProxyRequest<S, T>>>::Error>
Serve a response or error for the given request,
using the given context.
§fn boxed(self) -> BoxService<Request, Self::Response, Self::Error>
fn boxed(self) -> BoxService<Request, Self::Response, Self::Error>
Box this service to allow for dynamic dispatch.
Auto Trait Implementations§
impl Freeze for StreamForwardService
impl RefUnwindSafe for StreamForwardService
impl Send for StreamForwardService
impl Sync for StreamForwardService
impl Unpin for StreamForwardService
impl UnwindSafe for StreamForwardService
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
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> 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§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<S, RequestIn, RequestOut> RequestInspector<RequestIn> for S
impl<S, RequestIn, RequestOut> RequestInspector<RequestIn> for S
type RequestOut = RequestOut
§fn inspect_request(
&self,
req: RequestIn,
) -> impl Future<Output = Result<<S as RequestInspector<RequestIn>>::RequestOut, <S as RequestInspector<RequestIn>>::Error>> + Send
fn inspect_request( &self, req: RequestIn, ) -> impl Future<Output = Result<<S as RequestInspector<RequestIn>>::RequestOut, <S as RequestInspector<RequestIn>>::Error>> + Send
Inspect the request, modify it if needed or desired, and return it.