cratestack_axum/codec/
headers.rs1use axum::http::HeaderMap;
2use cratestack_core::{CoolCodec, CoolError};
3
4use crate::transport::{validate_transport_accept_header, validate_transport_content_type_header};
5
6pub fn validate_codec_response_headers<C>(headers: &HeaderMap) -> Result<(), CoolError>
7where
8 C: CoolCodec,
9{
10 validate_accept_header::<C>(headers)
11}
12
13pub fn validate_codec_request_headers<C>(headers: &HeaderMap) -> Result<(), CoolError>
14where
15 C: CoolCodec,
16{
17 validate_accept_header::<C>(headers)?;
18 validate_content_type_header::<C>(headers)
19}
20
21pub(crate) fn validate_accept_header<C>(headers: &HeaderMap) -> Result<(), CoolError>
22where
23 C: CoolCodec,
24{
25 validate_transport_accept_header(headers, &[C::CONTENT_TYPE])
26}
27
28pub(crate) fn validate_content_type_header<C>(headers: &HeaderMap) -> Result<(), CoolError>
29where
30 C: CoolCodec,
31{
32 validate_transport_content_type_header(headers, &[C::CONTENT_TYPE])
33}