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

Тип http.Header

Тип http.Header из пакета net/http представляет собой карту, содержащую HTTP-заголовки. Ключом выступает имя заголовка, а значением - срез строк, так как один заголовок может быть передан несколько раз. Этот тип используется в структурах Request и ResponseWriter для управления заголовками. Основные методы типа http.Header: Get для получения значения, Set для установки значения, Add для добавления значения к существующему заголовку, Del для удаления заголовка и Values для получения среза всех значений заголовка.

Синтаксис

header := http.Header{ "Content-Type": []string{"application/json"}, "X-Request-ID": []string{"12345"}, }

Пример метода Get

Метод Get возвращает первое значение заголовка как строку. Если заголовок не установлен, возвращается пустая строка.

package main import ( "fmt" "net/http" ) func main() { header := http.Header{ "Content-Type": []string{"application/json"}, "X-Custom": []string{"value1", "value2"}, } contentType := header.Get("Content-Type") xCustom := header.Get("X-Custom") notExist := header.Get("Not-Exist") fmt.Println(contentType) fmt.Println(xCustom) fmt.Println(notExist) }

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

"application/json" "value1" ""

Пример метода Set

Метод Set устанавливает значение заголовка, заменяя все существующие значения.

package main import ( "fmt" "net/http" ) func main() { header := make(http.Header) header.Set("Content-Type", "text/html") header.Set("X-Custom", "new-value") fmt.Println(header.Get("Content-Type")) fmt.Println(header.Get("X-Custom")) }

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

"text/html" "new-value"

Пример метода Add

Метод Add добавляет новое значение к существующим значениям заголовка.

package main import ( "fmt" "net/http" ) func main() { header := http.Header{ "X-Custom": []string{"first"}, } header.Add("X-Custom", "second") header.Add("X-Custom", "third") fmt.Println(header.Values("X-Custom")) }

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

[first second third]

Пример метода Del

Метод Del удаляет все значения для указанного заголовка.

package main import ( "fmt" "net/http" ) func main() { header := http.Header{ "X-Custom": []string{"value1", "value2"}, "Keep": []string{"keep-value"}, } header.Del("X-Custom") fmt.Println(header.Get("X-Custom")) fmt.Println(header.Get("Keep")) }

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

"" "keep-value"

Пример метода Values

Метод Values возвращает срез всех значений заголовка.

package main import ( "fmt" "net/http" ) func main() { header := http.Header{ "X-Custom": []string{"one", "two", "three"}, "Single": []string{"single-value"}, } fmt.Println(header.Values("X-Custom")) fmt.Println(header.Values("Single")) fmt.Println(header.Values("Not-Exist")) }

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

[one two three] [single-value] []

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

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