TargetLayer

Struct TargetLayer 

Source
pub struct TargetLayer { /* private fields */ }
Available on crate feature client only.
Expand description

Set a Target as the destination forcely.

The layer only sets destination address, including target address, target domain name (for DNS) and SNI of target host (if using HTTPS).

Note that this layer MUST be set as an outer layer because outer layers runs before service discover (DNS).

Implementations§

Source§

impl TargetLayer

Source

pub const fn new(target: Target) -> Self

Create a TargetLayer via a Target.

This layer will set the Target as request destination.

Source

pub fn new_address<A>(addr: A) -> Self
where A: Into<Address>,

Create a TargetLayer via an address.

Source

pub fn new_host<S>(host: S) -> Self
where S: Into<Cow<'static, str>>,

Create a TargetLayer via a host name.

Source

pub fn from_uri(uri: &Uri) -> Self

Create a Target from a Uri.

§Panics

This function will panic if the given Uri cannot be parsed to a Target.

Source

pub fn with_service_name<S>(self, service_name: S) -> Self
where S: Into<FastStr>,

Set a service name for current TargetLayer.

When this layer sets Target as the destination, the service name is also set, and if the request uses HTTPS, the service name will be used as the SNI.

Trait Implementations§

Source§

impl<S> Layer<S> for TargetLayer

Source§

type Service = TargetService<S>

The wrapped service
Source§

fn layer(self, inner: S) -> Self::Service

Wrap the given service with the middleware, returning a new service that has been decorated with the middleware. Consumes self.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

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

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

fn in_current_span(self) -> Instrumented<Self>

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

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<Cx, Req, T, S> LayerExt<Cx, Req, S> for T
where T: Layer<S>, S: Service<Cx, Req>,

Source§

fn map_err<E, F>(self, f: F) -> MapErrLayer<F>
where F: FnOnce(<S as Service<Cx, Req>>::Error) -> E,

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more