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

Метод http.Header.Add

Метод http.Header.Add добавляет значение к HTTP-заголовку. В первый параметр мы передаем ключ заголовка (строку), во второй параметр мы передаем значение заголовка (строку). Если заголовок с указанным ключом уже существует, новое значение добавляется к существующим значениям через запятую. Если заголовок еще не существует, он создается с переданным значением. В отличие от метода http.Header.Set, который заменяет все существующие значения, метод http.Header.Add добавляет новое значение к уже существующим.

Синтаксис

header.Add(key, value)

Пример

Давайте создадим заголовок и добавим к нему несколько значений:

package main import ( "fmt" "net/http" ) func main() { header := http.Header{} header.Add("Accept", "application/json") header.Add("Accept", "text/plain") header.Add("X-Custom-Header", "value1") fmt.Println(header.Get("Accept")) fmt.Println(header.Get("X-Custom-Header")) }

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

"application/json, text/plain" "value1"

Пример

Метод http.Header.Add автоматически преобразует ключ заголовка в канонический формат. Давайте проверим это на примере:

package main import ( "fmt" "net/http" ) func main() { header := http.Header{} header.Add("content-type", "application/json") header.Add("Content-Type", "text/plain") fmt.Println(header.Get("Content-Type")) }

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

"application/json, text/plain"

Пример

Используем метод http.Header.Add для добавления заголовков в HTTP-запрос:

package main import ( "fmt" "net/http" "net/url" ) func main() { req, _ := http.NewRequest("GET", "https://example.com", nil) req.Header.Add("User-Agent", "MyApp/1.0") req.Header.Add("Accept", "application/json") req.Header.Add("Accept", "application/xml") fmt.Println(req.Header.Get("User-Agent")) fmt.Println(req.Header.Get("Accept")) }

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

"MyApp/1.0" "application/json, application/xml"

Пример

Используем метод http.Header.Add для добавления заголовков в HTTP-ответ:

package main import ( "fmt" "net/http" ) func main() { header := http.Header{} header.Add("Cache-Control", "no-cache") header.Add("Cache-Control", "no-store") header.Add("X-Powered-By", "Go") fmt.Println(header.Get("Cache-Control")) fmt.Println(header.Get("X-Powered-By")) }

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

"no-cache, no-store" "Go"

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

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