Відповіді:
Header
Поле запиту є загальнодоступним. Ви можете зробити це:
req.Header.Set("name", "value")
Зверніть увагу, що в заголовку http.Request "Хост" неможливо встановити за допомогою Set
методу
req.Header.Set("Host", "domain.tld")
але можна встановити безпосередньо:
req.Host = "domain.tld"
:
req, err := http.NewRequest("GET", "http://10.0.0.1/", nil)
if err != nil {
...
}
req.Host = "domain.tld"
client := &http.Client{}
resp, err := client.Do(req)
Пакет Net / http Go має багато функцій, які стосуються заголовків . Серед них методи Add , Del , Get і Set . Спосіб використання набору:
func yourHandler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("header_name", "header_value")
}
r *http.Request
і повертаєте щось назад w http.ResponseWriter
. Тому, ймовірно, тому, що ви повертаєте заголовки, вам потрібно написати їх у відповіді. І w
це письменник-відповідь. Це виглядає для вас логічно?