Класс 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)

Возвращает неизменяемый список всех строковых значений заголовка заданного имени.

boolean equals​(Object obj)

Проверяет равенство этого объекта HttpHeaders заданному объекту.

Optional<String> firstValue​(String name)

Возвращает Optional, содержащий первое строковое значение заголовка заданного имени (возможно, многозначного).

OptionalLong firstValueAsLong​(String name)

Возвращает OptionalLong, содержащий первое строковое значение заголовка указанного поля.

int hashCode()

Вычисляет хэш-код для этого объекта HttpHeaders.

Map<String,​List<String>> map()

Возвращает неизменяемое представление многозначного отображения этого HttpHeaders.

static HttpHeaders of​(Map<String,​List<String>> headerMap, BiPredicate<String,​String> filter)

Возвращает HTTP-заголовки из заданного отображения.

String toString()

Возвращает этот объект HttpHeaders в виде строки.

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

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

Методы

firstValue

public Optional<String> firstValue(String name)

Возвращает Optional, содержащий первое строковое значение заголовка заданного имени (возможно, многозначного). Если заголовок отсутствует, возвращаемый Optional пустой.

Parameters:
name - имя заголовка
Returns:
Optional<String>, содержащий первое строковое значение заголовка, если оно присутствует

firstValueAsLong

public OptionalLong firstValueAsLong(String name)

Возвращает OptionalLong, содержащий первое строковое значение заголовка указанного поля. Если заголовок отсутствует, Optional пустой. Если заголовок присутствует, но содержит значение, которое не может быть обработано как Long значение, выбрасывается исключение.

Parameters:
name - имя заголовка
Returns:
OptionalLong
Throws:
NumberFormatException - если найдено значение, но оно не может быть обработано как Long

allValues

public List<String> allValues(String name)

Возвращает неизменяемый список всех строковых значений заголовка заданного имени. Всегда возвращает список, который может быть пустым, если заголовок отсутствует.

Parameters:
name - имя заголовка
Returns:
Список строковых значений заголовка

map

public Map<String,List<String>> map()

Возвращает неизменяемое многозначное отображение этого HttpHeaders.

Returns:
отображение

equals

public final boolean equals(Object obj)

Проверяет равенство этого объекта HttpHeaders заданному объекту.

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

Этот метод удовлетворяет общему контракту метода Object.equals.

Overrides:
equals в классе Object
Parameters:
obj - объект, с которым сравнивается этот объект
Returns:
true если, и только если, заданный объект является объектом HttpHeaders, равным этому объекту HttpHeaders
See Also:
Object.hashCode(), HashMap

hashCode

public final int hashCode()

Вычисляет хэш-код для этого объекта HttpHeaders.

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

Overrides:
hashCode в классе Object
Returns:
значение хэш-кода для этого объекта HttpHeaders
See Also:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

toString

public String toString()

Возвращает этот объект HttpHeaders в виде строки.

Overrides:
toString в классе Object
Returns:
строка, описывающая HTTP-заголовки

of

public static HttpHeaders of(Map<String,​List<String>> headerMap,
                             BiPredicate<String,​String> filter)

Возвращает HTTP-заголовки из заданного отображения. Ключ заданного отображения представляет имя заголовка, а значение — список строковых значений заголовка для этого имени заголовка.

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

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

© 1993, 2020, 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/11/docs/api/java.net.http/java/net/http/HttpHeaders.html

Spec-Zone .ru
спецификации, руководства, описания, API