Struct tower_http::propagate_header::PropagateHeader[][src]

pub struct PropagateHeader<S> { /* fields omitted */ }
This is supported on crate feature propagate-header only.
Expand description

Middleware that propagates headers from requests to responses.

If the header is present on the request it’ll be applied to the response as well. This could for example be used to propagate headers such as X-Request-Id.

See the module docs for more details.

Implementations

impl<S> PropagateHeader<S>[src]

pub fn new(inner: S, header: HeaderName) -> Self[src]

Create a new PropagateHeader that propagates the given header.

pub fn get_ref(&self) -> &S[src]

Gets a reference to the underlying service.

pub fn get_mut(&mut self) -> &mut S[src]

Gets a mutable reference to the underlying service.

pub fn into_inner(self) -> S[src]

Consumes self, returning the underlying service.

pub fn layer(header: HeaderName) -> PropagateHeaderLayer[src]

Returns a new Layer that wraps services with a PropagateHeader middleware.

Trait Implementations

impl<S: Clone> Clone for PropagateHeader<S>[src]

fn clone(&self) -> PropagateHeader<S>[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<S: Debug> Debug for PropagateHeader<S>[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<ReqBody, ResBody, S> Service<Request<ReqBody>> for PropagateHeader<S> where
    S: Service<Request<ReqBody>, Response = Response<ResBody>>, 
[src]

type Response = S::Response

Responses given by the service.

type Error = S::Error

Errors produced by the service.

type Future = ResponseFuture<S::Future>

The future response value.

fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>[src]

Returns Poll::Ready(Ok(())) when the service is able to process requests. Read more

fn call(&mut self, req: Request<ReqBody>) -> Self::Future[src]

Process the request and return the response asynchronously. Read more

Auto Trait Implementations

impl<S> RefUnwindSafe for PropagateHeader<S> where
    S: RefUnwindSafe

impl<S> Send for PropagateHeader<S> where
    S: Send

impl<S> Sync for PropagateHeader<S> where
    S: Sync

impl<S> Unpin for PropagateHeader<S> where
    S: Unpin

impl<S> UnwindSafe for PropagateHeader<S> where
    S: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[src]

fn instrument(self, span: Span) -> Instrumented<Self>[src]

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

fn in_current_span(self) -> Instrumented<Self>[src]

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<M, S, Target, Request> MakeService<Target, Request> for M where
    S: Service<Request>,
    M: Service<Target, Response = S>, 
[src]

type Response = <S as Service<Request>>::Response

Responses given by the service

type Error = <S as Service<Request>>::Error

Errors produced by the service

type Service = S

The Service value created by this factory

type MakeError = <M as Service<Target>>::Error

Errors produced while building a service.

type Future = <M as Service<Target>>::Future

The future of the Service instance.

pub fn poll_ready(
    &mut self,
    cx: &mut Context<'_>
) -> Poll<Result<(), <M as MakeService<Target, Request>>::MakeError>>
[src]

Returns Poll::Ready when the factory is able to create more services. Read more

pub fn make_service(
    &mut self,
    target: Target
) -> <M as MakeService<Target, Request>>::Future
[src]

Create and return a new service value asynchronously.

fn into_service(self) -> IntoService<Self, Request>[src]

Consume this MakeService and convert it into a Service. Read more

fn as_service(&mut self) -> AsService<'_, Self, Request>[src]

Convert this MakeService into a Service without consuming the original MakeService. Read more

impl<T> PolicyExt for T where
    T: ?Sized
[src]

pub fn and<P, B, E>(Self, P) -> And<T, P> where
    T: Policy<B, E>,
    P: Policy<B, E>, 
[src]

This is supported on crate feature follow-redirect only.

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more

pub fn or<P, B, E>(Self, P) -> Or<T, P> where
    T: Policy<B, E>,
    P: Policy<B, E>, 
[src]

This is supported on crate feature follow-redirect only.

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more

impl<T, Request> ServiceExt<Request> for T where
    T: Service<Request> + ?Sized
[src]

fn ready(&mut self) -> Ready<'_, Self, Request>[src]

Yields a mutable reference to the service when it is ready to accept a request.

fn ready_and(&mut self) -> Ready<'_, Self, Request>[src]

👎 Deprecated since 0.4.6:

please use the ServiceExt::ready method instead

Yields a mutable reference to the service when it is ready to accept a request.

fn ready_oneshot(self) -> ReadyOneshot<Self, Request>[src]

Yields the service when it is ready to accept a request.

fn oneshot(self, req: Request) -> Oneshot<Self, Request>[src]

Consume this Service, calling with the providing request once it is ready.

fn call_all<S>(self, reqs: S) -> CallAll<Self, S> where
    S: Stream<Item = Request>,
    Self::Error: Into<Box<dyn Error + 'static + Sync + Send, Global>>, 
[src]

Process all requests from the given Stream, and produce a Stream of their responses. Read more

fn and_then<F>(self, f: F) -> AndThen<Self, F> where
    F: Clone
[src]

Executes a new future after this service’s future resolves. This does not alter the behaviour of the poll_ready method. Read more

fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F> where
    F: FnOnce(Self::Response) -> Response + Clone
[src]

Maps this service’s response value to a different value. This does not alter the behaviour of the poll_ready method. Read more

fn map_err<F, Error>(self, f: F) -> MapErr<Self, F> where
    F: FnOnce(Self::Error) -> Error + Clone
[src]

Maps this service’s error value to a different value. This does not alter the behaviour of the poll_ready method. Read more

fn map_result<F, Response, Error>(self, f: F) -> MapResult<Self, F> where
    Error: From<Self::Error>,
    F: FnOnce(Result<Self::Response, Self::Error>) -> Result<Response, Error> + Clone
[src]

Maps this service’s result type (Result<Self::Response, Self::Error>) to a different value, regardless of whether the future succeeds or fails. Read more

fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F> where
    F: FnMut(NewRequest) -> Request + Clone
[src]

Composes a function in front of the service. Read more

fn then<F, Response, Error, Fut>(self, f: F) -> Then<Self, F> where
    Error: From<Self::Error>,
    F: FnOnce(Result<Self::Response, Self::Error>) -> Fut + Clone,
    Fut: Future<Output = Result<Response, Error>>, 
[src]

Composes an asynchronous function after this service. Read more

fn map_future<F, Fut, Response, Error>(self, f: F) -> MapFuture<Self, F> where
    Error: From<Self::Error>,
    F: FnMut(Self::Future) -> Fut,
    Fut: Future<Output = Result<Response, Error>>, 
[src]

Composes a function that transforms futures produced by the service. Read more

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.