pub struct TypedHeader<T>(pub T);Expand description
Extractor and response that works with typed header values from headers.
§As extractor
In general, it’s recommended to extract only the needed headers via TypedHeader rather than
removing all headers with the HeaderMap extractor.
use axum::{
routing::get,
Router,
};
use headers::UserAgent;
use axum_extra::TypedHeader;
async fn users_teams_show(
TypedHeader(user_agent): TypedHeader<UserAgent>,
) {
// ...
}
let app = Router::new().route("/users/:user_id/team/:team_id", get(users_teams_show));§As response
use axum::{
response::IntoResponse,
};
use headers::ContentType;
use axum_extra::TypedHeader;
async fn handler() -> (TypedHeader<ContentType>, &'static str) {
(
TypedHeader(ContentType::text_utf8()),
"Hello, World!",
)
}Tuple Fields§
§0: TTrait Implementations§
Source§impl<T: Clone> Clone for TypedHeader<T>
impl<T: Clone> Clone for TypedHeader<T>
Source§fn clone(&self) -> TypedHeader<T>
fn clone(&self) -> TypedHeader<T>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T: Debug> Debug for TypedHeader<T>
impl<T: Debug> Debug for TypedHeader<T>
Source§impl<T> Deref for TypedHeader<T>
impl<T> Deref for TypedHeader<T>
Source§impl<T> DerefMut for TypedHeader<T>
impl<T> DerefMut for TypedHeader<T>
Source§impl<T, S> FromRequestParts<S> for TypedHeader<T>
impl<T, S> FromRequestParts<S> for TypedHeader<T>
Source§type Rejection = TypedHeaderRejection
type Rejection = TypedHeaderRejection
If the extractor fails it’ll use this “rejection” type. A rejection is
a kind of error that can be converted into a response.
Source§impl<T> IntoResponse for TypedHeader<T>where
T: Header,
impl<T> IntoResponse for TypedHeader<T>where
T: Header,
Source§fn into_response(self) -> Response
fn into_response(self) -> Response
Create a response.
Source§impl<T> IntoResponseParts for TypedHeader<T>where
T: Header,
impl<T> IntoResponseParts for TypedHeader<T>where
T: Header,
Source§type Error = Infallible
type Error = Infallible
The type returned in the event of an error. Read more
Source§fn into_response_parts(
self,
res: ResponseParts,
) -> Result<ResponseParts, Self::Error>
fn into_response_parts( self, res: ResponseParts, ) -> Result<ResponseParts, Self::Error>
Set parts of the response
impl<T: Copy> Copy for TypedHeader<T>
Auto Trait Implementations§
impl<T> Freeze for TypedHeader<T>where
T: Freeze,
impl<T> RefUnwindSafe for TypedHeader<T>where
T: RefUnwindSafe,
impl<T> Send for TypedHeader<T>where
T: Send,
impl<T> Sync for TypedHeader<T>where
T: Sync,
impl<T> Unpin for TypedHeader<T>where
T: Unpin,
impl<T> UnwindSafe for TypedHeader<T>where
T: UnwindSafe,
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<S, T> FromRequest<S, ViaParts> for T
impl<S, T> FromRequest<S, ViaParts> for T
Source§type Rejection = <T as FromRequestParts<S>>::Rejection
type Rejection = <T as FromRequestParts<S>>::Rejection
If the extractor fails it’ll use this “rejection” type. A rejection is
a kind of error that can be converted into a response.
Source§impl<T, S> Handler<IntoResponseHandler, S> for T
impl<T, S> Handler<IntoResponseHandler, S> for T
Source§fn call(
self,
_req: Request<Body>,
_state: S,
) -> <T as Handler<IntoResponseHandler, S>>::Future
fn call( self, _req: Request<Body>, _state: S, ) -> <T as Handler<IntoResponseHandler, S>>::Future
Call the handler with the given request.
Source§fn layer<L>(self, layer: L) -> Layered<L, Self, T, S>where
L: Layer<HandlerService<Self, T, S>> + Clone,
<L as Layer<HandlerService<Self, T, S>>>::Service: Service<Request<Body>>,
fn layer<L>(self, layer: L) -> Layered<L, Self, T, S>where
L: Layer<HandlerService<Self, T, S>> + Clone,
<L as Layer<HandlerService<Self, T, S>>>::Service: Service<Request<Body>>,
Apply a
tower::Layer to the handler. Read moreSource§fn with_state(self, state: S) -> HandlerService<Self, T, S>
fn with_state(self, state: S) -> HandlerService<Self, T, S>
Convert the handler into a
Service by providing the stateSource§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, ()>
Convert the handler into a
Service and no state.Source§fn into_make_service(self) -> IntoMakeService<HandlerService<H, T, ()>>
fn into_make_service(self) -> IntoMakeService<HandlerService<H, T, ()>>
Convert the handler into a
MakeService and no state. Read moreSource§fn into_make_service_with_connect_info<C>(
self,
) -> IntoMakeServiceWithConnectInfo<HandlerService<H, T, ()>, C>
fn into_make_service_with_connect_info<C>( self, ) -> IntoMakeServiceWithConnectInfo<HandlerService<H, T, ()>, C>
Convert the handler into a
MakeService which stores information
about the incoming connection and has no state. Read more