Функция http.CanonicalHeaderKey

Функция http.CanonicalHeaderKey преобразует переданный ключ заголовка HTTP в канонический формат. Канонический формат подразумевает, что первая буква каждого слова в заголовке и первая буква после дефиса являются заглавными, а все остальные буквы строчные. В первый параметр функция принимает ключ заголовка в виде строки и возвращает его каноническую версию. Это полезно для унификации ключей заголовков, так как HTTP-заголовки регистронезависимы, но стандартные библиотеки Go используют именно канонический формат.

Синтаксис

gohttp.CanonicalHeaderKey(key)

Пример

Давайте преобразуем заголовок 'content-type' в канонический формат:

gopackage main

import (
  "fmt"
  "net/http"
)

func main() {
  key := "content-type"
  canonical := http.CanonicalHeaderKey(key)
  fmt.Println(canonical)
}

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

go"Content-Type"

Пример

Давайте преобразуем заголовок 'x-custom-header' в канонический формат:

gopackage main

import (
  "fmt"
  "net/http"
)

func main() {
  key := "x-custom-header"
  canonical := http.CanonicalHeaderKey(key)
  fmt.Println(canonical)
}

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

go"X-Custom-Header"

Пример

Давайте преобразуем уже канонический заголовок 'Content-Length':

gopackage main

import (
  "fmt"
  "net/http"
)

func main() {
  key := "Content-Length"
  canonical := http.CanonicalHeaderKey(key)
  fmt.Println(canonical)
}

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

go"Content-Length"

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

  • функцию http.Header.Get,
    которая получает значение заголовка по ключу
  • функцию http.Header.Set,
    которая устанавливает значение заголовка
  • функцию http.Header.Add,
    которая добавляет значение к заголовку
  • функцию http.Header.Del,
    которая удаляет заголовок