pub struct Condition<T> { /* private fields */ }Expand description
Middleware for conditionally enabling other middleware.
§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§
Trait Implementations§
Source§impl<S, T, Req, BE, BD, Err> Transform<S, Req> for Condition<T>where
    S: Service<Req, Response = ServiceResponse<BD>, Error = Err> + 'static,
    T: Transform<S, Req, Response = ServiceResponse<BE>, Error = Err>,
    T::Future: 'static,
    T::InitError: 'static,
    T::Transform: 'static,
 
impl<S, T, Req, BE, BD, Err> Transform<S, Req> for Condition<T>where
    S: Service<Req, Response = ServiceResponse<BD>, Error = Err> + 'static,
    T: Transform<S, Req, Response = ServiceResponse<BE>, Error = Err>,
    T::Future: 'static,
    T::InitError: 'static,
    T::Transform: 'static,
Source§type Response = ServiceResponse<EitherBody<BE, BD>>
 
type Response = ServiceResponse<EitherBody<BE, BD>>
Responses produced by the service.
Source§type Transform = ConditionMiddleware<<T as Transform<S, Req>>::Transform, S>
 
type Transform = ConditionMiddleware<<T as Transform<S, Req>>::Transform, S>
The 
TransformService value created by this factorySource§type InitError = <T as Transform<S, Req>>::InitError
 
type InitError = <T as Transform<S, Req>>::InitError
Errors produced while building a transform service.
Source§type Future = Pin<Box<dyn Future<Output = Result<<Condition<T> as Transform<S, Req>>::Transform, <Condition<T> as Transform<S, Req>>::InitError>>>>
 
type Future = Pin<Box<dyn Future<Output = Result<<Condition<T> as Transform<S, Req>>::Transform, <Condition<T> as Transform<S, Req>>::InitError>>>>
The future response value.
Source§fn new_transform(&self, service: S) -> Self::Future
 
fn new_transform(&self, service: S) -> Self::Future
Creates and returns a new Transform component, asynchronously
Auto Trait Implementations§
impl<T> Freeze for Condition<T>where
    T: Freeze,
impl<T> RefUnwindSafe for Condition<T>where
    T: RefUnwindSafe,
impl<T> Send for Condition<T>where
    T: Send,
impl<T> Sync for Condition<T>where
    T: Sync,
impl<T> Unpin for Condition<T>where
    T: Unpin,
impl<T> UnwindSafe for Condition<T>where
    T: UnwindSafe,
Blanket Implementations§
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