Struct actix_web::middleware::Condition [−][src]
Middleware for conditionally enabling other middleware.
The controlled middleware must not change the Service
interfaces. This means you cannot
control such middlewares like Logger
or Compress
directly. See the Compat
middleware for a workaround.
Examples
use actix_web::middleware::{Condition, NormalizePath}; use actix_web::App; let enable_normalize = std::env::var("NORMALIZE_PATH").is_ok(); let app = App::new() .wrap(Condition::new(enable_normalize, NormalizePath::default()));
Implementations
impl<T> Condition<T>
[src]
Trait Implementations
impl<S, T, Req> Transform<S, Req> for Condition<T> where
S: Service<Req> + 'static,
T: Transform<S, Req, Response = S::Response, Error = S::Error>,
T::Future: 'static,
T::InitError: 'static,
T::Transform: 'static,
[src]
S: Service<Req> + 'static,
T: Transform<S, Req, Response = S::Response, Error = S::Error>,
T::Future: 'static,
T::InitError: 'static,
T::Transform: 'static,
type Response = S::Response
Responses given by the service.
type Error = S::Error
Errors produced by the service.
type Transform = ConditionMiddleware<T::Transform, S>
The TransformService
value created by this factory
type InitError = T::InitError
Errors produced while building a transform service.
type Future = LocalBoxFuture<'static, Result<Self::Transform, Self::InitError>>
The future response value.
fn new_transform(&self, service: S) -> Self::Future
[src]
pub fn map_init_err<F, E>(self, f: F) -> TransformMapInitErr<Self, S, Req, F, E> where
F: Fn(Self::InitError) -> E + Clone,
[src]
F: Fn(Self::InitError) -> E + Clone,
Auto Trait Implementations
impl<T> RefUnwindSafe for Condition<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for Condition<T> where
T: Send,
T: Send,
impl<T> Sync for Condition<T> where
T: Sync,
T: Sync,
impl<T> Unpin for Condition<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for Condition<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
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]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
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]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,