[][src]Struct actix_web_middleware_redirect_scheme::scheme::RedirectScheme

pub struct RedirectScheme {
    pub disable: bool,
    pub https_to_http: bool,
    pub temporary: bool,
    pub replacements: Vec<(String, String)>,
}

Middleware for actix-web which redirects between http and https requests with optional url string replacements.

Usage

extern crate actix_web_middleware_redirect_scheme;

use actix_web::{App, web, HttpResponse};
use actix_web_middleware_redirect_scheme::RedirectSchemeBuilder;

App::new()
    .wrap(RedirectSchemeBuilder::new().temporary().build())
    .route("/", web::get().to(|| HttpResponse::Ok()
                                    .content_type("text/plain")
                                    .body("Always HTTPS!")));

Fields

disable: boolhttps_to_http: booltemporary: boolreplacements: Vec<(String, String)>

Methods

impl RedirectScheme[src]

pub fn simple(https_to_http: bool) -> Self[src]

Creates a RedirectScheme middleware.

Usage

extern crate actix_web_middleware_redirect_scheme;

use actix_web::{App, web, HttpResponse};
use actix_web_middleware_redirect_scheme::RedirectScheme;

App::new()
    .wrap(RedirectScheme::simple(false))
    .route("/", web::get().to(|| HttpResponse::Ok()
                                    .content_type("text/plain")
                                    .body("Always HTTPS on non-default ports!")));

pub fn with_replacements<S: ToString>(
    https_to_http: bool,
    replacements: &[(S, S)]
) -> Self
[src]

Creates a RedirectScheme middleware which also performs string replacement on the final url. This is useful when not running on the default web and ssl ports (80 and 443) since we will need to change the development web port in the hostname to the development ssl port.

Usage

extern crate actix_web_middleware_redirect_scheme;

use actix_web::{App, web, HttpResponse};
use actix_web_middleware_redirect_scheme::RedirectScheme;

App::new()
    .wrap(RedirectScheme::with_replacements(false, &[(":8080", ":8443")]))
    .route("/", web::get().to(|| HttpResponse::Ok()
                                    .content_type("text/plain")
                                    .body("Always HTTPS on non-default ports!")));

Trait Implementations

impl Clone for RedirectScheme[src]

impl Default for RedirectScheme[src]

impl<S, B> Transform<S> for RedirectScheme where
    S: Service<Request = ServiceRequest, Response = ServiceResponse<B>, Error = Error>,
    S::Future: 'static, 
[src]

type Request = ServiceRequest

Requests handled by the service.

type Response = ServiceResponse<B>

Responses given by the service.

type Error = Error

Errors produced by the service.

type InitError = ()

Errors produced while building a transform service.

type Transform = RedirectSchemeService<S>

The TransformService value created by this factory

type Future = Ready<Result<Self::Transform, Self::InitError>>

The future response value.

Auto Trait Implementations

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, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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>,