When working on #164 I noticed that our existing use of 1#element (header fields requiring at least one list item) is kind of pointless. The following fields use it:
Cache-Control = 1#cache-directive
Transfer-Encoding = 1#transfer-coding
Connection = 1#connection-option
Upgrade = 1#protocol
Trailer = 1#field-name
Via = 1#( received-protocol RWS received-by [ RWS comment ] )
Content-Encoding = 1#content-coding
Content-Language = 1#language-tag
If-Match = "*" / 1#entity-tag
If-None-Match = "*" / 1#entity-tag
Accept-Charset = 1#( ( charset / "*" ) [ weight ] )
Accept-Language = 1#( language-range [ weight ] )
Vary = "*" / 1#field-name
WWW-Authenticate = 1#challenge
Proxy-Authenticate = 1#challenge
It is also used (incorrectly?) within Byte Ranges fields as
byte-range-set = 1#( byte-range-spec / suffix-byte-range-spec )
acceptable-ranges = 1#range-unit / "none"
We should audit these because it makes more sense to handle empty fields as non-error conditions.
When working on #164 I noticed that our existing use of 1#element (header fields requiring at least one list item) is kind of pointless. The following fields use it:
It is also used (incorrectly?) within Byte Ranges fields as
We should audit these because it makes more sense to handle empty fields as non-error conditions.