Метод http.Header.Del
Метод http.Header.Del удаляет указанный заголовок из HTTP-заголовков. Он принимает один параметр - строку с именем заголовка, который необходимо удалить. Если указанный заголовок отсутствует, метод ничего не делает. Удаление происходит без учета регистра, так как заголовки HTTP регистронезависимы.
Синтаксис
header.Del(key)
Пример
Давайте создадим HTTP-заголовки и удалим из них заголовок 'Content-Type':
package main
import (
"fmt"
"net/http"
)
func main() {
header := http.Header{}
header.Set("Content-Type", "application/json")
header.Set("X-Request-ID", "12345")
fmt.Println("Before deletion:", header)
header.Del("Content-Type")
fmt.Println("After deletion:", header)
}
Результат выполнения кода:
"Before deletion: map[Content-Type:[application/json] X-Request-Id:[12345]]"
"After deletion: map[X-Request-Id:[12345]]"
Пример
Давайте попробуем удалить заголовок, который отсутствует в заголовках:
package main
import (
"fmt"
"net/http"
)
func main() {
header := http.Header{}
header.Set("Content-Type", "text/html")
fmt.Println("Before deletion:", header)
header.Del("Authorization")
fmt.Println("After deletion:", header)
}
Результат выполнения кода:
"Before deletion: map[Content-Type:[text/html]]"
"After deletion: map[Content-Type:[text/html]]"
Пример
Давайте покажем, что метод удаляет все значения заголовка, даже если их несколько:
package main
import (
"fmt"
"net/http"
)
func main() {
header := http.Header{}
header.Add("Accept", "text/plain")
header.Add("Accept", "text/html")
header.Add("X-Custom", "value")
fmt.Println("Before deletion:", header)
header.Del("Accept")
fmt.Println("After deletion:", header)
}
Результат выполнения кода:
"Before deletion: map[Accept:[text/plain text/html] X-Custom:[value]]"
"After deletion: map[X-Custom:[value]]"
Пример
Метод регистронезависим, поэтому можно удалять заголовки, указывая их имя в любом регистре:
package main
import (
"fmt"
"net/http"
)
func main() {
header := http.Header{}
header.Set("X-Custom-Header", "value")
fmt.Println("Before deletion:", header)
header.Del("x-custom-header")
fmt.Println("After deletion:", header)
header.Set("X-Another", "test")
header.Del("X-ANOTHER")
fmt.Println("Final state:", header)
}
Результат выполнения кода:
"Before deletion: map[X-Custom-Header:[value]]"
"After deletion: map[]"
"Final state: map[]"
Смотрите также
-
метод
http.Header.Get,
который получает значение заголовка -
метод
http.Header.Set,
который устанавливает значение заголовка -
метод
http.Header.Add,
который добавляет значение к заголовку -
метод
http.Header.Values,
который возвращает все значения заголовка