Класс 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) |
Возвращает неизменяемый список всех строковых значений заголовка заданного имени. |
boolean |
equals(Object obj) |
Проверяет равенство этого объекта HttpHeaders заданному объекту. |
Optional<String> |
firstValue(String name) |
Возвращает |
OptionalLong |
firstValueAsLong(String name) |
Возвращает |
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 в виде строки.
of
public static HttpHeaders of(Map<String,List<String>> headerMap,
BiPredicate<String,String> filter)
Возвращает HTTP-заголовки из заданного отображения. Ключ заданного отображения представляет имя заголовка, а значение — список строковых значений заголовка для этого имени заголовка.
Имя HTTP-заголовка может встречаться несколько раз в HTTP-протоколе. Такие многозначные заголовки должны быть представлены одной записью в заданном отображении, значение которой является списком, представляющим собой несколько строковых значений заголовка. Пробелы в начале и конце всех строковых значений, извлеченных из заданного отображения и его списков, удаляются перед обработкой. В HTTP-заголовки будут добавлены только те заголовки, которые после фильтрации содержат по крайней мере одно, возможно пустое, строковое значение.
- API Note:
- Основное назначение этого метода — для фреймворков тестирования. Заголовки для каждого запроса можно установить с помощью одного из методов
HttpRequestheaders. - 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