Struct Redirect
pub struct Redirect { /* private fields */ }
Expand description
Utility struct to easily create a redirect response.
Implementations§
§impl Redirect
impl Redirect
pub fn to(loc: impl IntoRedirectLoc) -> Redirect
pub fn to(loc: impl IntoRedirectLoc) -> Redirect
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 location, 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.
pub fn moved(loc: impl IntoRedirectLoc) -> Redirect
pub fn moved(loc: impl IntoRedirectLoc) -> Redirect
Create a new found (301) redirect response.
Used if a resource is permanently moved.
Use Self::permanent
in case you wish to respect the original HTTP Method.
pub fn found(loc: impl IntoRedirectLoc) -> Redirect
pub fn found(loc: impl IntoRedirectLoc) -> Redirect
Create a new found (302) redirect response.
Can be useful in flows where the resource was legit and found, but a pre-requirement such as authentication wasn’t met.
pub fn temporary(loc: impl IntoRedirectLoc) -> Redirect
pub fn temporary(loc: impl IntoRedirectLoc) -> Redirect
Create a new temporary (307) redirect response.
pub fn permanent(loc: impl IntoRedirectLoc) -> Redirect
pub fn permanent(loc: impl IntoRedirectLoc) -> Redirect
Create a new permanent (308) redirect response.
pub fn status_code(&self) -> StatusCode
pub fn status_code(&self) -> StatusCode
Returns the HTTP status code of the Redirect
.
pub fn location(&self) -> &HeaderValue
pub fn location(&self) -> &HeaderValue
Returns the Redirect
’s URI
pub fn location_str(&self) -> Cow<'_, str>
pub fn location_str(&self) -> Cow<'_, str>
Returns the Redirect
’s URI as a lossy-utf-8 str
Trait Implementations§
§impl IntoResponse for Redirect
impl IntoResponse for Redirect
§fn into_response(self) -> Response<Body>
fn into_response(self) -> Response<Body>
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§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<R> IntoEndpointService<()> for R
impl<R> IntoEndpointService<()> for R
§fn into_endpoint_service(
self,
) -> impl Service<Request<Body>, Response = Response<Body>, Error = Infallible>
fn into_endpoint_service( self, ) -> impl Service<Request<Body>, Response = Response<Body>, Error = Infallible>
rama_core::Service
.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy
that returns Action::Follow
only if self
and other
return
Action::Follow
. Read more