РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1037 of 1593 menu

Метод http.Header.Values

Метод http.Header.Values возвращает все значения заголовка HTTP в виде среза строк []string. В первый параметр метод принимает ключ заголовка, для которого нужно получить все значения. В отличие от метода http.Header.Get, который возвращает только первое значение, метод Values возвращает все значения, связанные с указанным ключом. Если заголовок отсутствует, метод возвращает пустой срез.

Синтаксис

header.Values(key)

Пример

Давайте создадим HTTP-заголовок с несколькими значениями для одного ключа и получим их с помощью метода Values:

package main import ( "fmt" "net/http" ) func main() { header := http.Header{} header.Add("X-Custom", "value1") header.Add("X-Custom", "value2") header.Add("X-Custom", "value3") res := header.Values("X-Custom") fmt.Println(res) }

Результат выполнения кода:

[value1 value2 value3]

Пример

Давайте получим все значения заголовка Accept-Encoding из входящего HTTP-запроса:

package main import ( "fmt" "net/http" "net/http/httptest" ) func main() { req := httptest.NewRequest("GET", "/", nil) req.Header.Set("Accept-Encoding", "gzip, deflate, br") res := req.Header.Values("Accept-Encoding") fmt.Println(res) }

Результат выполнения кода:

[gzip, deflate, br]

Пример

Давайте проверим, что метод Values возвращает пустой срез, если заголовок отсутствует:

package main import ( "fmt" "net/http" ) func main() { header := http.Header{} res := header.Values("Non-Existent") fmt.Println(res) }

Результат выполнения кода:

[]

Смотрите также

  • метод http.Header.Get,
    который возвращает первое значение заголовка
  • метод http.Header.Set,
    который устанавливает значение заголовка, заменяя все предыдущие
  • метод http.Header.Add,
    который добавляет новое значение к существующему заголовку
  • метод http.Header.Del,
    который удаляет все значения заголовка
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить