pub trait Layer<S> {
type Service;
// Required method
fn layer(&self, inner: S) -> Self::Service;
}
Expand description
A layer that produces a Layered service (middleware(inner service)).
Required Associated Types§
Required Methods§
Implementations on Foreign Types§
Implementors§
source§impl<A, C, L, S> Layer<S> for ProxyAuthLayer<A, C, L>
impl<A, C, L, S> Layer<S> for ProxyAuthLayer<A, C, L>
type Service = ProxyAuthService<A, C, S, L>
source§impl<H, S> Layer<S> for GetForwardedHeadersLayer<H>
impl<H, S> Layer<S> for GetForwardedHeadersLayer<H>
type Service = GetForwardedHeadersService<S, H>
source§impl<H, S> Layer<S> for SetForwardedHeadersLayer<H>
impl<H, S> Layer<S> for SetForwardedHeadersLayer<H>
type Service = SetForwardedHeadersService<S, H>
source§impl<H: Clone, S> Layer<S> for TlsAcceptorLayer<H>
impl<H: Clone, S> Layer<S> for TlsAcceptorLayer<H>
type Service = TlsAcceptorService<S, H>
source§impl<K, S> Layer<S> for HttpsConnectorLayer<K>
impl<K, S> Layer<S> for HttpsConnectorLayer<K>
type Service = HttpsConnector<S, K>
source§impl<S> Layer<S> for DnsMapLayer
impl<S> Layer<S> for DnsMapLayer
type Service = DnsMapService<S>
source§impl<S> Layer<S> for DnsResolveModeLayer
impl<S> Layer<S> for DnsResolveModeLayer
type Service = DnsResolveModeService<S>
source§impl<S> Layer<S> for AddAuthorizationLayer
impl<S> Layer<S> for AddAuthorizationLayer
type Service = AddAuthorization<S>
source§impl<S> Layer<S> for rama::http::layer::body_limit::BodyLimitLayer
impl<S> Layer<S> for rama::http::layer::body_limit::BodyLimitLayer
type Service = BodyLimitService<S>
source§impl<S> Layer<S> for DecompressionLayer
impl<S> Layer<S> for DecompressionLayer
type Service = Decompression<S>
source§impl<S> Layer<S> for RequestDecompressionLayer
impl<S> Layer<S> for RequestDecompressionLayer
type Service = RequestDecompression<S>
source§impl<S> Layer<S> for NormalizePathLayer
impl<S> Layer<S> for NormalizePathLayer
type Service = NormalizePath<S>
source§impl<S> Layer<S> for RequestMetricsLayer
impl<S> Layer<S> for RequestMetricsLayer
type Service = RequestMetricsService<S>
source§impl<S> Layer<S> for PropagateHeaderLayer
impl<S> Layer<S> for PropagateHeaderLayer
type Service = PropagateHeader<S>
source§impl<S> Layer<S> for RemoveRequestHeaderLayer
impl<S> Layer<S> for RemoveRequestHeaderLayer
type Service = RemoveRequestHeader<S>
source§impl<S> Layer<S> for RemoveResponseHeaderLayer
impl<S> Layer<S> for RemoveResponseHeaderLayer
type Service = RemoveResponseHeader<S>
source§impl<S> Layer<S> for PropagateRequestIdLayer
impl<S> Layer<S> for PropagateRequestIdLayer
type Service = PropagateRequestId<S>
source§impl<S> Layer<S> for AddRequiredRequestHeadersLayer
impl<S> Layer<S> for AddRequiredRequestHeadersLayer
type Service = AddRequiredRequestHeaders<S>
source§impl<S> Layer<S> for AddRequiredResponseHeadersLayer
impl<S> Layer<S> for AddRequiredResponseHeadersLayer
type Service = AddRequiredResponseHeaders<S>
source§impl<S> Layer<S> for SetSensitiveHeadersLayer
impl<S> Layer<S> for SetSensitiveHeadersLayer
source§impl<S> Layer<S> for SetSensitiveRequestHeadersLayer
impl<S> Layer<S> for SetSensitiveRequestHeadersLayer
type Service = SetSensitiveRequestHeaders<S>
source§impl<S> Layer<S> for SetSensitiveResponseHeadersLayer
impl<S> Layer<S> for SetSensitiveResponseHeadersLayer
type Service = SetSensitiveResponseHeaders<S>
source§impl<S> Layer<S> for rama::net::stream::layer::http::BodyLimitLayer
impl<S> Layer<S> for rama::net::stream::layer::http::BodyLimitLayer
type Service = BodyLimitService<S>
source§impl<S> Layer<S> for NetworkMetricsLayer
impl<S> Layer<S> for NetworkMetricsLayer
type Service = NetworkMetricsService<S>
source§impl<S> Layer<S> for BytesTrackerLayer
impl<S> Layer<S> for BytesTrackerLayer
type Service = BytesTrackerService<S>
source§impl<S> Layer<S> for HttpProxyAddressLayer
impl<S> Layer<S> for HttpProxyAddressLayer
type Service = HttpProxyAddressService<S>
source§impl<S> Layer<S> for HttpProxyConnectorLayer
impl<S> Layer<S> for HttpProxyConnectorLayer
type Service = HttpProxyConnectorService<S>
source§impl<S> Layer<S> for rama::proxy::pp::server::HaProxyLayer
impl<S> Layer<S> for rama::proxy::pp::server::HaProxyLayer
type Service = HaProxyService<S>
source§impl<S> Layer<S> for UserAgentClassifierLayer
impl<S> Layer<S> for UserAgentClassifierLayer
type Service = UserAgentClassifier<S>
source§impl<S> Layer<S> for rama::service::layer::http::BodyLimitLayer
impl<S> Layer<S> for rama::service::layer::http::BodyLimitLayer
type Service = BodyLimitService<S>
source§impl<S> Layer<S> for Identity
impl<S> Layer<S> for Identity
Decorates a Service
, transforming either the request or the response.