Spec-Zone.ru › OpenJDK 17

Класс 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, содержащий первое строковое значение заголовка с заданным именем.
final int hashCode()
Вычисляет код хэша для этого экземпляра HTTP-заголовков.
Map<String,List<String>> map()
Возвращает неизменяемый многозначный вид 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 пустой.
Parameters:
name - имя заголовка
Returns:
an Optional<String> , содержащий первое строковое значение имени заголовка, если оно присутствует

firstValueAsLong

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

allValues

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

map

public Map<String,List<String>> map()
Возвращает неизменяемый многозначный вид Map этого HttpHeaders.
Returns:
the Map

equals

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

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

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

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

hashCode

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

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

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

toString

public String toString()
Возвращает эти HTTP-заголовки в виде строки.
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:
экземпляр HTTP-заголовков, содержащий заданные заголовки
Throws:
NullPointerException - если любой из: headerMap, ключ или значение в заданной карте, или запись в списке значений карты, или filter, является null
IllegalArgumentException - если заданная headerMap содержит любые два ключа, равные друг другу (без учета регистра); или если заданная карта содержит ключ, длина которого после обрезки пробелов является 0

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

Spec-Zone.ru

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