Closed
Description
The implementation for cache control attributes is pretty messy. Some of the default values are incorrect, such as setting a string "*"
for a value that should be boolean, or using -1
instead of None
for a missing attribute. It is hard to type correctly, and hard to reason about when making changes.
Get rid of the property factory and implement each attribute directly instead, cleaning up the types and defaults to match the actual HTTP spec. Unfortunately, there's no way to deprecate the previous incorrect values, but from looking over it it seems like they would be unlikely to be relied upon, and it's easy to fix code that does.
Activity