Skip to main content

cratestack_axum/codec/
headers.rs

1use 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}