Struct actix_web::middleware::Condition[][src]

pub struct Condition<T> { /* fields omitted */ }

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]

pub fn new(enable: bool, transformer: T) -> Self[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]

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.

Auto Trait Implementations

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

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]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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