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}