public interface HttpHeaders
extends Iterable<Map.Entry<CharSequence,CharSequence>>
All header field names are compared in a case-insensitive manner.
| Modifier and Type | Method and Description |
|---|---|
HttpHeaders |
add(CharSequence name,
CharSequence... values)
Adds new headers with the specified
name and values. |
HttpHeaders |
add(CharSequence name,
CharSequence value)
Adds a new header with the specified
name and value. |
HttpHeaders |
add(CharSequence name,
Iterable<? extends CharSequence> values)
Adds new headers with the specified
name and values. |
default HttpHeaders |
add(CharSequence name,
Iterator<? extends CharSequence> valuesItr)
Adds new headers with the specified
name and values. |
HttpHeaders |
add(HttpHeaders headers)
Adds all header names and values of
headers to this object. |
default HttpHeaders |
addCookie(CharSequence name,
CharSequence value)
|
HttpHeaders |
addCookie(HttpCookiePair cookie)
Adds a cookie.
|
default HttpHeaders |
addSetCookie(CharSequence name,
CharSequence value)
|
HttpHeaders |
addSetCookie(HttpSetCookie cookie)
Adds a set-cookie.
|
HttpHeaders |
clear()
Removes all headers.
|
default boolean |
contains(CharSequence name)
Returns
true if a header with the name exists, false otherwise. |
boolean |
contains(CharSequence name,
CharSequence value)
Returns
true if a header with the name and value exists, false otherwise. |
boolean |
containsIgnoreCase(CharSequence name,
CharSequence value)
Returns
true if a header with the name and value exists, false otherwise. |
CharSequence |
get(CharSequence name)
Returns the value of a header with the specified name.
|
default CharSequence |
get(CharSequence name,
CharSequence defaultValue)
Returns the value of a header with the specified name.
|
CharSequence |
getAndRemove(CharSequence name)
Returns the value of a header with the specified name and removes it from this object.
|
default CharSequence |
getAndRemove(CharSequence name,
CharSequence defaultValue)
Returns the value of a header with the specified name and removes it from this object.
|
HttpCookiePair |
getCookie(CharSequence name)
Gets a cookie identified by
name. |
default Iterable<? extends HttpCookiePair> |
getCookies()
Gets all the cookies.
|
default Iterable<? extends HttpCookiePair> |
getCookies(CharSequence name)
Gets the cookies with the same name.
|
Iterator<? extends HttpCookiePair> |
getCookiesIterator()
Gets all the cookies.
|
Iterator<? extends HttpCookiePair> |
getCookiesIterator(CharSequence name)
Gets the cookies with the same name.
|
HttpSetCookie |
getSetCookie(CharSequence name)
Gets a set-cookie identified by
name. |
default Iterable<? extends HttpSetCookie> |
getSetCookies()
Gets all the set-cookies.
|
default Iterable<? extends HttpSetCookie> |
getSetCookies(CharSequence name)
Gets the set-cookies with the same name.
|
default Iterable<? extends HttpSetCookie> |
getSetCookies(CharSequence name,
CharSequence domain,
CharSequence path)
Gets the set-cookies with the same name.
|
Iterator<? extends HttpSetCookie> |
getSetCookiesIterator()
Gets all the set-cookies.
|
Iterator<? extends HttpSetCookie> |
getSetCookiesIterator(CharSequence name)
Gets the set-cookies with the same name.
|
Iterator<? extends HttpSetCookie> |
getSetCookiesIterator(CharSequence name,
CharSequence domain,
CharSequence path)
Gets the set-cookies with the same name.
|
boolean |
isEmpty()
|
Iterator<Map.Entry<CharSequence,CharSequence>> |
iterator() |
Set<? extends CharSequence> |
names()
Returns a
Set of all header names in this object. |
boolean |
remove(CharSequence name)
Removes all headers with the specified
name. |
boolean |
remove(CharSequence name,
CharSequence value)
Removes specific value(s) from the specified header
name. |
boolean |
removeCookies(CharSequence name)
Removes all cookie identified by
name. |
boolean |
removeIgnoreCase(CharSequence name,
CharSequence value)
Removes specific value(s) from the specified header
name. |
boolean |
removeSetCookies(CharSequence name)
Removes all set-cookie identified by
name. |
boolean |
removeSetCookies(CharSequence name,
CharSequence domain,
CharSequence path)
Removes all set-cookie identified by
name. |
default HttpHeaders |
replace(HttpHeaders headers)
Removes all header names contained in
headers from this object, and then adds all headers contained in
headers. |
HttpHeaders |
set(CharSequence name,
CharSequence... values)
Sets a header with the specified
name and values. |
HttpHeaders |
set(CharSequence name,
CharSequence value)
Sets a header with the specified
name and value. |
HttpHeaders |
set(CharSequence name,
Iterable<? extends CharSequence> values)
Sets a new header with the specified
name and values. |
default HttpHeaders |
set(CharSequence name,
Iterator<? extends CharSequence> valueItr)
Sets a new header with the specified
name and values. |
default HttpHeaders |
set(HttpHeaders headers)
Clears the current header entries and copies all header entries of the specified
headers object. |
int |
size()
Returns the number of headers in this object.
|
default Spliterator<Map.Entry<CharSequence,CharSequence>> |
spliterator() |
String |
toString()
Returns a
String representation of this HttpHeaders. |
default String |
toString(BiFunction<? super CharSequence,? super CharSequence,CharSequence> filter)
Builds a string which represents all the content in this
HttpHeaders in which sensitive headers can be
filtered via filter. |
default Iterable<? extends CharSequence> |
values(CharSequence name)
Returns all values for the header with the specified name.
|
Iterator<? extends CharSequence> |
valuesIterator(CharSequence name)
Returns all values for the header with the specified name.
|
@Nullable CharSequence get(CharSequence name)
name - the name of the header to retrieve.null if there's no such header.default CharSequence get(CharSequence name,
CharSequence defaultValue)
name - the name of the header to retrieve.defaultValue - the default value.defaultValue if there is no such header.@Nullable CharSequence getAndRemove(CharSequence name)
name - the name of the header to retrieve.null if there is no such header.default CharSequence getAndRemove(CharSequence name,
CharSequence defaultValue)
name - the name of the header to retrieve.defaultValue - the default value.defaultValue if there is no such header.default Iterable<? extends CharSequence> values(CharSequence name)
name - the name of the header to retrieve.Iterable of header values or an empty Iterable if no values are found.if minimal object allocation is required.Iterator<? extends CharSequence> valuesIterator(CharSequence name)
name - the name of the header to retrieve.Iterator of header values or an empty Iterator if no values are found.if Iterable is preferred, at the expense of more object allocation.default boolean contains(CharSequence name)
true if a header with the name exists, false otherwise.name - the header name.true if name exists.boolean contains(CharSequence name,
CharSequence value)
true if a header with the name and value exists, false otherwise.name - the header name.value - the header value of the header to find.true if a name, value pair exists.boolean containsIgnoreCase(CharSequence name,
CharSequence value)
true if a header with the name and value exists, false otherwise.
Case insensitive compare is done on the value.
name - the name of the header to find.value - the value of the header to find.true if found.int size()
boolean isEmpty()
true if size() equals 0.Set<? extends CharSequence> names()
Set of all header names in this object. The returned Set cannot be modified.Set of all header names in this object. The returned Set cannot be modified.HttpHeaders add(CharSequence name, CharSequence value)
name and value.name - the name of the header.value - the value of the header.this.HttpHeaders add(CharSequence name, Iterable<? extends CharSequence> values)
name and values. This method is semantically equivalent to:
for (T value : values) {
headers.add(name, value);
}
name - the name of the header.values - the values of the header.this.default HttpHeaders add(CharSequence name, Iterator<? extends CharSequence> valuesItr)
name and values. This method is semantically equivalent to:
while (valueItr.hasNext()) {
headers.add(name, valueItr.next());
}
name - the name of the header.valuesItr - the values of the header.this.HttpHeaders add(CharSequence name, CharSequence... values)
name and values. This method is semantically equivalent to:
for (T value : values) {
headers.add(name, value);
}
name - the name of the header.values - the values of the header.this.HttpHeaders add(HttpHeaders headers)
headers to this object.headers - the headers to add.this.HttpHeaders set(CharSequence name, CharSequence value)
name and value. Any existing headers with the same name are
overwritten.name - the name of the header.value - the value of the header.this.HttpHeaders set(CharSequence name, Iterable<? extends CharSequence> values)
name and values. This method is equivalent to:
headers.remove(name);
for (T value : values) {
headers.add(name, value);
}
name - the name of the header.values - the values of the header.this.default HttpHeaders set(CharSequence name, Iterator<? extends CharSequence> valueItr)
name and values. This method is equivalent to:
headers.remove(name);
while (valueItr.hasNext()) {
headers.add(name, valueItr.next());
}
name - the name of the header.valueItr - the values of the header.this.HttpHeaders set(CharSequence name, CharSequence... values)
name and values. Any existing headers with this name are
removed. This method is equivalent to:
headers.remove(name);
for (T value : values) {
headers.add(name, value);
}
name - the name of the header.values - the values of the header.this.default HttpHeaders set(HttpHeaders headers)
headers object.headers - the headers object which contains new values.this.default HttpHeaders replace(HttpHeaders headers)
headers from this object, and then adds all headers contained in
headers.headers - the headers used to remove names and then add new entries.this.boolean remove(CharSequence name)
name.name - the name of the header.true if at least one entry has been removed.boolean remove(CharSequence name,
CharSequence value)
name. If the header has more than one identical
values, all of them will be removed.name - the name of the header.value - the value of the header to remove.true if at least one value has been removed.boolean removeIgnoreCase(CharSequence name,
CharSequence value)
name. If the header has more than one identical
values, all of them will be removed.
Case insensitive compare is done on the value.
name - the name of the header.value - the value of the header to remove.true if at least one value has been removed.HttpHeaders clear()
this.Iterator<Map.Entry<CharSequence,CharSequence>> iterator()
iterator in interface Iterable<Map.Entry<CharSequence,CharSequence>>default Spliterator<Map.Entry<CharSequence,CharSequence>> spliterator()
spliterator in interface Iterable<Map.Entry<CharSequence,CharSequence>>String toString()
String representation of this HttpHeaders. To avoid accidentally logging sensitive
information, implementations should be cautious about logging header content and consider using
toString(BiFunction).toString in class ObjectString representation of this HttpHeaders.default String toString(BiFunction<? super CharSequence,? super CharSequence,CharSequence> filter)
HttpHeaders in which sensitive headers can be
filtered via filter.filter - a function that accepts the header name and value and returns the filtered value.HttpHeaders.@Nullable HttpCookiePair getCookie(CharSequence name)
name. If there
is more than one HttpSetCookie for the specified name, the first HttpSetCookie in insertion order
is returned.name - the cookie-name to look for.HttpSetCookie identified by name.@Nullable HttpSetCookie getSetCookie(CharSequence name)
name. If
there is more than one HttpSetCookie for the specified name, the first HttpSetCookie in insertion
order is returned.name - the cookie-name to look for.HttpSetCookie identified by name.default Iterable<? extends HttpCookiePair> getCookies()
Iterable with all the cookies.if minimal object allocation is required.Iterator<? extends HttpCookiePair> getCookiesIterator()
Iterator with all the cookies.if Iterable is preferred, at the expense of more object allocation.default Iterable<? extends HttpCookiePair> getCookies(CharSequence name)
name - the cookie-name of the HttpSetCookies to get.Iterable where all the HttpSetCookies have the same name.if minimal object allocation is required.Iterator<? extends HttpCookiePair> getCookiesIterator(CharSequence name)
name - the cookie-name of the HttpSetCookies to get.Iterator where all the HttpSetCookies have the same name.if Iterable is preferred, at the expense of more object allocation.default Iterable<? extends HttpSetCookie> getSetCookies()
Iterable with all the
set-cookies.if minimal object allocation is required.Iterator<? extends HttpSetCookie> getSetCookiesIterator()
Iterator with all the
set-cookies.if Iterable is preferred, at the expense of more object allocation.default Iterable<? extends HttpSetCookie> getSetCookies(CharSequence name)
name - the cookie-name of the HttpSetCookies to get.Iterable where all the HttpSetCookies have the same name.if minimal object allocation is required.Iterator<? extends HttpSetCookie> getSetCookiesIterator(CharSequence name)
name - the cookie-name of the HttpSetCookies to get.Iterator where all the HttpSetCookies have the same name.if Iterable is preferred, at the expense of more object allocation.default Iterable<? extends HttpSetCookie> getSetCookies(CharSequence name, CharSequence domain, CharSequence path)
name - the cookie-name of the HttpSetCookies to get.domain - the domain-value of the HttpSetCookies to get. This value may be matched according
to the Domain Matching algorithm.path - the path-av of the HttpSetCookies to get. This value may be matched according
to the Path Matching algorithm.Iterable where all the HttpSetCookies match the parameter values.if minimal object allocation is required.Iterator<? extends HttpSetCookie> getSetCookiesIterator(CharSequence name, CharSequence domain, CharSequence path)
name - the cookie-name of the HttpSetCookies to get.domain - the domain-value of the HttpSetCookies to get. This value may be matched according
to the Domain Matching algorithm.path - the path-av of the HttpSetCookies to get. This value may be matched according
to the Path Matching algorithm.Iterator where all the HttpSetCookies match the parameter values.if Iterable is preferred, at the expense of more
object allocation.HttpHeaders addCookie(HttpCookiePair cookie)
This may result in multiple HttpCookiePairs with same name.
cookie - the cookie to add.this.default HttpHeaders addCookie(CharSequence name, CharSequence value)
name and
value.
This may result in multiple HttpSetCookies with same name. Added cookie will not be wrapped, not secure,
and not HTTP-only, with no path, domain, expire date and maximum age.
name - the name of the cookie.value - the value of the cookie.this.HttpHeaders addSetCookie(HttpSetCookie cookie)
This may result in multiple HttpSetCookies with same name.
cookie - the cookie to add.this.default HttpHeaders addSetCookie(CharSequence name, CharSequence value)
name
and value.
This may result in multiple HttpSetCookies with same name. Added cookie will not be wrapped, not secure,
and not HTTP-only, with no path, domain, expire date and maximum age.
name - the name of the cookie.value - the value of the cookie.this.boolean removeCookies(CharSequence name)
name.name - the cookie-name of the HttpSetCookies to remove.true if at least one entry has been removed.boolean removeSetCookies(CharSequence name)
name.name - the cookie-name of the HttpSetCookies to remove.true if at least one entry has been removed.boolean removeSetCookies(CharSequence name,
CharSequence domain,
CharSequence path)
name.name - the cookie-name of the HttpSetCookies to remove.domain - the domain-value of the HttpSetCookies to remove. This value may be matched according
to the Domain Matching algorithm.path - the path-av of the HttpSetCookies to remove. This value may be matched according
to the Path Matching algorithm.true if at least one entry has been removed.