pub struct Redirect { /* private fields */ }
Expand description
Response that redirects the request to another location.
Example
use axum::{
routing::get,
response::Redirect,
Router,
};
let app = Router::new()
.route("/old", get(|| async { Redirect::permanent("/new") }))
.route("/new", get(|| async { "Hello!" }));
Implementations
sourceimpl Redirect
impl Redirect
sourcepub fn to(uri: &str) -> Self
pub fn to(uri: &str) -> Self
Create a new Redirect
that uses a 303 See Other
status code.
This redirect instructs the client to change the method to GET for the subsequent request
to the given uri
, which is useful after successful form submission, file upload or when
you generally don’t want the redirected-to page to observe the original request method and
body (if non-empty). If you want to preserve the request method and body,
Redirect::temporary
should be used instead.
Panics
If uri
isn’t a valid HeaderValue
.
sourcepub fn temporary(uri: &str) -> Self
pub fn temporary(uri: &str) -> Self
Create a new Redirect
that uses a 307 Temporary Redirect
status code.
This has the same behavior as Redirect::to
, except it will preserve the original HTTP
method and body.
Panics
If uri
isn’t a valid HeaderValue
.
sourcepub fn permanent(uri: &str) -> Self
pub fn permanent(uri: &str) -> Self
Create a new Redirect
that uses a 308 Permanent Redirect
status code.
Panics
If uri
isn’t a valid HeaderValue
.