Spec-Zone.ru › OpenJDK 21

Класс HttpHeaders

java.lang.Object
java.net.http.HttpHeaders
public final class HttpHeaders extends Object
Только для чтения представление набора HTTP-заголовков.

Экземпляр HttpHeaders обычно не создается напрямую, а возвращается методом HttpRequest или HttpResponse. Конкретные HTTP-заголовки можно задать для запроса запроса с помощью одного из методов билдера запроса headers.

Методы этого класса (принимающие имя заголовка в виде строки), и карта Map возвращаемая методом map, игнорируют регистр при получении значения заголовка.

Имя HTTP-заголовка может встречаться в протоколе HTTP более одного раза. Поэтому заголовки представляются как имя и список значений. Каждое вхождение значения заголовка добавляется без изменений в соответствующий список имени заголовка, без его интерпретации. В частности, HttpHeaders не выполняет разделения или объединения строк значений заголовков, разделенных запятыми. Порядок элементов в списке значений заголовка сохраняется при использовании метода building для запроса. Для ответов порядок элементов в списке значений заголовка — это порядок, в котором они были получены. Однако Map , возвращаемый методом map, не гарантирует порядок его записей.

Экземпляры HttpHeaders неизменяемы.

Since:
11

Краткое описание методов

Модификатор и тип Метод Описание
List<String> allValues(String name)
Возвращает неизменяемый список всех строковых значений заголовка для данного имени заголовка.
final boolean equals(Object obj)
Проверяет равенство данного объекта с экземпляром HTTP-заголовков.
Optional<String> firstValue(String name)
Возвращает Optional, содержащий первое строковое значение заголовка для данного имени (возможно, многозначного) заголовка.
OptionalLong firstValueAsLong(String name)
Возвращает OptionalLong, содержащий первое строковое значение заголовка для данного имени поля заголовка. Если заголовок отсутствует, Optional пустой. Если заголовок присутствует, но значение не может быть преобразовано в Long, генерируется исключение.
final int hashCode()
Вычисляет хэш-код для данного экземпляра HTTP-заголовков.
Map<String,List<String>> map()
Возвращает неизменяемую карту множественных значений для этого объекта HttpHeaders.
static HttpHeaders of(Map<String,List<String>> headerMap, BiPredicate<String,String> filter)
Возвращает HTTP-заголовки из заданной карты.
String toString()
Возвращает это HTTP-заголовки в виде строки.

Методы, унаследованные от класса java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание методов

firstValue

public Optional<String> firstValue(String name)
Возвращает Optional, содержащий первое строковое значение заголовка для данного имени (возможно, многозначного) заголовка. Если заголовок отсутствует, возвращаемый Optional пустой.
Параметры:
name - имя заголовка
Возвращает:
Optional<String>, содержащий первое строковое значение заголовка, если оно присутствует

firstValueAsLong

public OptionalLong firstValueAsLong(String name)
Возвращает OptionalLong, содержащий первое строковое значение заголовка для данного имени поля заголовка. Если заголовок отсутствует, Optional пустой. Если заголовок присутствует, но значение не может быть преобразовано в значение типа Long, генерируется исключение.
Параметры:
name - имя заголовка
Возвращает:
OptionalLong
Исключения:
NumberFormatException - если значение найдено, но не может быть преобразовано в Long

allValues

public List<String> allValues(String name)
Возвращает неизменяемый список всех строковых значений заголовка для данного имени заголовка. Всегда возвращает список, который может быть пустым, если заголовок отсутствует.
Параметры:
name - имя заголовка
Возвращает:
список строковых значений заголовка

map

public Map<String,List<String>> map()
Возвращает неизменяемую карту множественных значений для этого объекта HttpHeaders.
Возвращает:
карту

equals

public final boolean equals(Object obj)
Проверяет равенство данного объекта с экземпляром HTTP-заголовков.

Если данный объект не является HttpHeaders, этот метод возвращает false. Два HTTP-заголовка равны, если их соответствующие карты HttpHeaders равны.

Этот метод соответствует общему соглашению метода Object.equals.

Overrides:
equals в классе Object
Параметры:
obj - объект, с которым сравнивается данный объект
Возвращает:
true если, и только если, данный объект является экземпляром HttpHeaders, равным этому HTTP-заголовку
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public final int hashCode()
Вычисляет хэш-код для данного экземпляра HTTP-заголовков.

Хэш-код основан на компонентах карты HTTP-заголовков map и удовлетворяет общему соглашению метода Object.hashCode.

Overrides:
hashCode в классе Object
Возвращает:
значение хэш-кода для этого HTTP-заголовка
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

toString

public String toString()
Возвращает это HTTP-заголовки в виде строки.
Overrides:
toString в классе Object
Возвращает:
строка, описывающая HTTP-заголовки

of

public static HttpHeaders of(Map<String,List<String>> headerMap, BiPredicate<String,String> filter)
Возвращает HTTP-заголовки из заданной карты. Ключ заданной карты представляет имя заголовка, а значение — список строковых значений заголовка для этого имени заголовка.

Имя HTTP-заголовка может встречаться в протоколе HTTP более одного раза. Такие, многозначные, заголовки должны быть представлены одной записью в заданной карте, значением записи является список, представляющий несколько строковых значений заголовка. Пробелы в начале и конце всех строковых значений, извлечённых из заданной карты и её списков, удаляются перед обработкой. Только заголовки, которые после фильтрации содержат хотя бы одно, возможно пустое, строковое значение, будут добавлены в HTTP-заголовки.

Замечание по API:
Основное назначение этого метода — для фреймворков тестирования. Заголовки для каждого запроса можно задать с помощью одного из методов HttpRequest headers.
Параметры:
headerMap - карта, содержащая имена и значения заголовков
filter - предикат для проверки каждого имени-значения заголовка в заданной карте, чтобы определить, нужно ли его добавлять в HTTP-заголовки
Возвращает:
экземпляр HTTP-заголовков, содержащий заданные заголовки
Исключения:
NullPointerException - если любое из: headerMap, ключ или значение в заданной карте, или запись в списке значений карты, или filter, является null
IllegalArgumentException - если заданная headerMap содержит любые два ключа, равные друг другу (без учета регистра); или если заданная карта содержит любой ключ, длина которого после обрезки пробелов является 0

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.net.http/java/net/http/HttpHeaders.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API