headers icon indicating copy to clipboard operation
headers copied to clipboard

Could we get string representation for CacheControl

Open sadokmtir opened this issue 2 years ago • 1 comments

I am using this crate for dealing with headers for example Cache-Control and I find it very helpful to create headers in general with this lib. But unfortunately most of the headers Structs they do not provide a string representation so we could include the headers in the response.

Example:

           let mut res = axum::response::Response::builder();

            let cache_control_value = axum::headers::CacheControl::new()
                .with_max_age(Duration::new(10, 0))
                .with_public();
            res = res.header(CACHE_CONTROL, cache_control_value.as_str());

Something like that would be very useful not only for Cache-Control but for most headers

sadokmtir avatar Aug 24 '23 15:08 sadokmtir

The typed headers are meant to be used with HeaderMapExt, which allow a typed_insert(). CacheControl in particular doesn't have a cheap way to provide an as_str() representation, since it's internally a bunch of a flags.

seanmonstar avatar Aug 24 '23 16:08 seanmonstar