tower_cookies/extract.rs
1use crate::Cookies;
2use axum_core::extract::FromRequestParts;
3use http::{request::Parts, StatusCode};
4
5impl<S> FromRequestParts<S> for Cookies
6where
7 S: Sync + Send,
8{
9 type Rejection = (http::StatusCode, &'static str);
10
11 async fn from_request_parts(parts: &mut Parts, _state: &S) -> Result<Self, Self::Rejection> {
12 parts.extensions.get::<Cookies>().cloned().ok_or((
13 StatusCode::INTERNAL_SERVER_ERROR,
14 "Can't extract cookies. Is `CookieManagerLayer` enabled?",
15 ))
16 }
17}