Функция http.ParseHTTPVersion

Функция http.ParseHTTPVersion разбирает строку, представляющую версию HTTP, и возвращает ее основные и минорные компоненты. Она принимает один параметр - строку версии HTTP, и возвращает два целых числа (основную и минорную версии) и ошибку, если строка не может быть корректно разобрана.

Синтаксис

gohttp.ParseHTTPVersion(version string) (major, minor int, err error)

Пример

Давайте разберем стандартную строку версии HTTP:

gopackage main

import (
  "fmt"
  "net/http"
)

func main() {
  major, minor, err := http.ParseHTTPVersion("HTTP/1.1")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Printf("Major: %d, Minor: %d\n", major, minor)
}

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

go"Major: 1, Minor: 1"

Пример

Давайте разберем строку версии HTTP с пробелами:

gopackage main

import (
  "fmt"
  "net/http"
)

func main() {
  major, minor, err := http.ParseHTTPVersion("HTTP/2.0")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Printf("Major: %d, Minor: %d\n", major, minor)
}

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

go"Major: 2, Minor: 0"

Пример

Давайте попробуем разобрать некорректную строку версии HTTP:

gopackage main

import (
  "fmt"
  "net/http"
)

func main() {
  major, minor, err := http.ParseHTTPVersion("HTTP/1.a")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Printf("Major: %d, Minor: %d\n", major, minor)
}

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

go"Error: strconv.ParseInt: parsing \"a\": invalid syntax"

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

  • функцию http.Get,
    которая выполняет HTTP GET-запрос
  • функцию http.Post,
    которая выполняет HTTP POST-запрос
  • функцию http.Head,
    которая выполняет HTTP HEAD-запрос
  • функцию http.CanonicalHeaderKey,
    которая приводит ключ заголовка к каноническому формату