@@ -173,13 +173,15 @@ func tokenEqual(t1, t2 string) bool {
173
173
174
174
// isLWS reports whether b is linear white space, according
175
175
// to http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2
176
- // LWS = [CRLF] 1*( SP | HT )
176
+ //
177
+ // LWS = [CRLF] 1*( SP | HT )
177
178
func isLWS (b byte ) bool { return b == ' ' || b == '\t' }
178
179
179
180
// isCTL reports whether b is a control byte, according
180
181
// to http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2
181
- // CTL = <any US-ASCII control character
182
- // (octets 0 - 31) and DEL (127)>
182
+ //
183
+ // CTL = <any US-ASCII control character
184
+ // (octets 0 - 31) and DEL (127)>
183
185
func isCTL (b byte ) bool {
184
186
const del = 0x7f // a CTL
185
187
return b < ' ' || b == del
@@ -189,12 +191,13 @@ func isCTL(b byte) bool {
189
191
// HTTP/2 imposes the additional restriction that uppercase ASCII
190
192
// letters are not allowed.
191
193
//
192
- // RFC 7230 says:
193
- // header-field = field-name ":" OWS field-value OWS
194
- // field-name = token
195
- // token = 1*tchar
196
- // tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." /
197
- // "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA
194
+ // RFC 7230 says:
195
+ //
196
+ // header-field = field-name ":" OWS field-value OWS
197
+ // field-name = token
198
+ // token = 1*tchar
199
+ // tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." /
200
+ // "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA
198
201
func ValidHeaderFieldName (v string ) bool {
199
202
if len (v ) == 0 {
200
203
return false
@@ -267,27 +270,28 @@ var validHostByte = [256]bool{
267
270
// ValidHeaderFieldValue reports whether v is a valid "field-value" according to
268
271
// http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2 :
269
272
//
270
- // message-header = field-name ":" [ field-value ]
271
- // field-value = *( field-content | LWS )
272
- // field-content = <the OCTETs making up the field-value
273
- // and consisting of either *TEXT or combinations
274
- // of token, separators, and quoted-string>
273
+ // message-header = field-name ":" [ field-value ]
274
+ // field-value = *( field-content | LWS )
275
+ // field-content = <the OCTETs making up the field-value
276
+ // and consisting of either *TEXT or combinations
277
+ // of token, separators, and quoted-string>
275
278
//
276
279
// http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2 :
277
280
//
278
- // TEXT = <any OCTET except CTLs,
279
- // but including LWS>
280
- // LWS = [CRLF] 1*( SP | HT )
281
- // CTL = <any US-ASCII control character
282
- // (octets 0 - 31) and DEL (127)>
281
+ // TEXT = <any OCTET except CTLs,
282
+ // but including LWS>
283
+ // LWS = [CRLF] 1*( SP | HT )
284
+ // CTL = <any US-ASCII control character
285
+ // (octets 0 - 31) and DEL (127)>
283
286
//
284
287
// RFC 7230 says:
285
- // field-value = *( field-content / obs-fold )
286
- // obj-fold = N/A to http2, and deprecated
287
- // field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]
288
- // field-vchar = VCHAR / obs-text
289
- // obs-text = %x80-FF
290
- // VCHAR = "any visible [USASCII] character"
288
+ //
289
+ // field-value = *( field-content / obs-fold )
290
+ // obj-fold = N/A to http2, and deprecated
291
+ // field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]
292
+ // field-vchar = VCHAR / obs-text
293
+ // obs-text = %x80-FF
294
+ // VCHAR = "any visible [USASCII] character"
291
295
//
292
296
// http2 further says: "Similarly, HTTP/2 allows header field values
293
297
// that are not valid. While most of the values that can be encoded
0 commit comments