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§
Source§impl 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
.
Trait Implementations§
Source§impl IntoResponse for Redirect
impl IntoResponse for Redirect
Source§fn into_response(self) -> Response
fn into_response(self) -> Response
Auto Trait Implementations§
impl !Freeze for Redirect
impl RefUnwindSafe for Redirect
impl Send for Redirect
impl Sync for Redirect
impl Unpin for Redirect
impl UnwindSafe for Redirect
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<H, T> HandlerWithoutStateExt<T> for H
impl<H, T> HandlerWithoutStateExt<T> for H
Source§fn into_service(self) -> HandlerService<H, T, ()>
fn into_service(self) -> HandlerService<H, T, ()>
Service
and no state.Source§fn into_make_service(self) -> IntoMakeService<HandlerService<H, T, ()>>
fn into_make_service(self) -> IntoMakeService<HandlerService<H, T, ()>>
MakeService
and no state. Read moreLayout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 48 bytes