podman

Форк
0
50 строк · 1.4 Кб
1
// Copyright 2018 The Go Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style
3
// license that can be found in the LICENSE file.
4

5
// Package httpguts provides functions implementing various details
6
// of the HTTP specification.
7
//
8
// This package is shared by the standard library (which vendors it)
9
// and x/net/http2. It comes with no API stability promise.
10
package httpguts
11

12
import (
13
	"net/textproto"
14
	"strings"
15
)
16

17
// ValidTrailerHeader reports whether name is a valid header field name to appear
18
// in trailers.
19
// See RFC 7230, Section 4.1.2
20
func ValidTrailerHeader(name string) bool {
21
	name = textproto.CanonicalMIMEHeaderKey(name)
22
	if strings.HasPrefix(name, "If-") || badTrailer[name] {
23
		return false
24
	}
25
	return true
26
}
27

28
var badTrailer = map[string]bool{
29
	"Authorization":       true,
30
	"Cache-Control":       true,
31
	"Connection":          true,
32
	"Content-Encoding":    true,
33
	"Content-Length":      true,
34
	"Content-Range":       true,
35
	"Content-Type":        true,
36
	"Expect":              true,
37
	"Host":                true,
38
	"Keep-Alive":          true,
39
	"Max-Forwards":        true,
40
	"Pragma":              true,
41
	"Proxy-Authenticate":  true,
42
	"Proxy-Authorization": true,
43
	"Proxy-Connection":    true,
44
	"Range":               true,
45
	"Realm":               true,
46
	"Te":                  true,
47
	"Trailer":             true,
48
	"Transfer-Encoding":   true,
49
	"Www-Authenticate":    true,
50
}
51

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.