Module tower_http::services::redirect
source · [−]Available on crate feature
redirect only.Expand description
Service that redirects all requests.
Example
Imagine that we run example.com and want to redirect all requests using HTTP to HTTPS.
That can be done like so:
use http::{Request, Uri, StatusCode};
use hyper::Body;
use tower::{Service, ServiceExt};
use tower_http::services::Redirect;
let uri: Uri = "https://example.com/".parse().unwrap();
let mut service: Redirect<Body> = Redirect::permanent(uri);
let request = Request::builder()
.uri("http://example.com")
.body(Body::empty())
.unwrap();
let response = service.oneshot(request).await?;
assert_eq!(response.status(), StatusCode::PERMANENT_REDIRECT);
assert_eq!(response.headers()["location"], "https://example.com/");Structs
Service that redirects all requests.
Response future of Redirect.