pub struct ReverseProxyService { /* private fields */ }Expand description
The reverse proxy service
Implementations§
Source§impl ReverseProxyService
impl ReverseProxyService
Sourcepub fn new(
registry: Arc<ServiceRegistry>,
load_balancer: Arc<LoadBalancer>,
config: Arc<ProxyConfig>,
) -> Self
pub fn new( registry: Arc<ServiceRegistry>, load_balancer: Arc<LoadBalancer>, config: Arc<ProxyConfig>, ) -> Self
Create a new reverse proxy service
Sourcepub fn with_remote_addr(self, addr: SocketAddr) -> Self
pub fn with_remote_addr(self, addr: SocketAddr) -> Self
Set the remote client address for this request
Sourcepub fn with_trusted_proxies(self, trusted: Arc<TrustedProxyList>) -> Self
pub fn with_trusted_proxies(self, trusted: Arc<TrustedProxyList>) -> Self
Override the trusted-proxy list (default: localhost_only).
Peers in this list are believed when they set CF-Connecting-IP or
X-Forwarded-For headers identifying the real client IP.
Sourcepub fn with_cert_manager(self, cm: Arc<CertManager>) -> Self
pub fn with_cert_manager(self, cm: Arc<CertManager>) -> Self
Set the certificate manager for ACME challenge interception
Sourcepub fn with_network_policy_checker(self, checker: NetworkPolicyChecker) -> Self
pub fn with_network_policy_checker(self, checker: NetworkPolicyChecker) -> Self
Set the network policy checker for access control enforcement
Sourcepub fn error_response(error: &ProxyError) -> Response<BoxBody>
pub fn error_response(error: &ProxyError) -> Response<BoxBody>
Create an error response
§Panics
Panics if building a valid HTTP response with a JSON body fails, which should never occur with well-formed status codes.
Trait Implementations§
Source§impl Clone for ReverseProxyService
impl Clone for ReverseProxyService
Source§fn clone(&self) -> ReverseProxyService
fn clone(&self) -> ReverseProxyService
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 moreSource§impl Service<Request<Incoming>> for ReverseProxyService
impl Service<Request<Incoming>> for ReverseProxyService
Source§type Error = ProxyError
type Error = ProxyError
Errors produced by the service.
Source§type Future = Pin<Box<dyn Future<Output = Result<<ReverseProxyService as Service<Request<Incoming>>>::Response, <ReverseProxyService as Service<Request<Incoming>>>::Error>> + Send>>
type Future = Pin<Box<dyn Future<Output = Result<<ReverseProxyService as Service<Request<Incoming>>>::Response, <ReverseProxyService as Service<Request<Incoming>>>::Error>> + Send>>
The future response value.
Auto Trait Implementations§
impl Freeze for ReverseProxyService
impl !RefUnwindSafe for ReverseProxyService
impl Send for ReverseProxyService
impl Sync for ReverseProxyService
impl Unpin for ReverseProxyService
impl UnsafeUnpin for ReverseProxyService
impl !UnwindSafe for ReverseProxyService
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T, Request> ServiceExt<Request> for T
impl<T, Request> ServiceExt<Request> for T
Source§fn ready(&mut self) -> Ready<'_, Self, Request>where
Self: Sized,
fn ready(&mut self) -> Ready<'_, Self, Request>where
Self: Sized,
Yields a mutable reference to the service when it is ready to accept a request.
Source§fn ready_oneshot(self) -> ReadyOneshot<Self, Request>where
Self: Sized,
fn ready_oneshot(self) -> ReadyOneshot<Self, Request>where
Self: Sized,
Yields the service when it is ready to accept a request.
Source§fn oneshot(self, req: Request) -> Oneshot<Self, Request>where
Self: Sized,
fn oneshot(self, req: Request) -> Oneshot<Self, Request>where
Self: Sized,
Consume this
Service, calling it with the provided request once it is ready.Source§fn and_then<F>(self, f: F) -> AndThen<Self, F>
fn and_then<F>(self, f: F) -> AndThen<Self, F>
Executes a new future after this service’s future resolves. This does
not alter the behaviour of the
poll_ready method. Read moreSource§fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F>
fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F>
Maps this service’s response value to a different value. This does not
alter the behaviour of the
poll_ready method. Read moreSource§fn map_err<F, Error>(self, f: F) -> MapErr<Self, F>
fn map_err<F, Error>(self, f: F) -> MapErr<Self, F>
Maps this service’s error value to a different value. This does not
alter the behaviour of the
poll_ready method. Read moreSource§fn map_result<F, Response, Error>(self, f: F) -> MapResult<Self, F>
fn map_result<F, Response, Error>(self, f: F) -> MapResult<Self, F>
Maps this service’s result type (
Result<Self::Response, Self::Error>)
to a different value, regardless of whether the future succeeds or
fails. Read moreSource§fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F>
fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F>
Composes a function in front of the service. Read more
Source§fn filter_async<F, NewRequest>(self, filter: F) -> AsyncFilter<Self, F>where
Self: Sized,
F: AsyncPredicate<NewRequest>,
fn filter_async<F, NewRequest>(self, filter: F) -> AsyncFilter<Self, F>where
Self: Sized,
F: AsyncPredicate<NewRequest>,
Composes this service with an
AsyncFilter that conditionally accepts or
rejects requests based on an [async predicate]. Read moreSource§fn then<F, Response, Error, Fut>(self, f: F) -> Then<Self, F>
fn then<F, Response, Error, Fut>(self, f: F) -> Then<Self, F>
Composes an asynchronous function after this service. Read more
Source§fn map_future<F, Fut, Response, Error>(self, f: F) -> MapFuture<Self, F>
fn map_future<F, Fut, Response, Error>(self, f: F) -> MapFuture<Self, F>
Composes a function that transforms futures produced by the service. Read more