public class HttpHeaders extends java.lang.Object implements MultiValueMap<java.lang.String,java.lang.String>, java.io.Serializable
In addition to the normal methods defined by Map
, this class offers the following
convenience methods:
getFirst(String)
returns the first value associated with a given header nameadd(String, String)
adds a header value to the list of values for a header nameset(String, String)
sets the header value to a single string valueInspired by Headers
.
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
ACCEPT |
private static java.lang.String |
ACCEPT_CHARSET |
private static java.lang.String |
ALLOW |
private static java.lang.String |
CACHE_CONTROL |
private static java.lang.String |
CONTENT_DISPOSITION |
private static java.lang.String |
CONTENT_LENGTH |
private static java.lang.String |
CONTENT_TYPE |
private static java.lang.String |
DATE |
private static java.lang.String[] |
DATE_FORMATS |
private static java.lang.String |
ETAG |
private static java.lang.String |
EXPIRES |
private static java.util.TimeZone |
GMT |
private java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
headers |
private static java.lang.String |
IF_MODIFIED_SINCE |
private static java.lang.String |
IF_NONE_MATCH |
private static java.lang.String |
LAST_MODIFIED |
private static java.lang.String |
LOCATION |
private static java.lang.String |
PRAGMA |
private static long |
serialVersionUID |
Modifier | Constructor and Description |
---|---|
|
HttpHeaders()
Constructs a new, empty instance of the
HttpHeaders object. |
private |
HttpHeaders(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers,
boolean readOnly)
Private constructor that can create read-only
HttpHeader instances. |
Modifier and Type | Method and Description |
---|---|
void |
add(java.lang.String headerName,
java.lang.String headerValue)
Add the given, single header value under the given name.
|
void |
clear() |
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
java.util.Set<java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>> |
entrySet() |
boolean |
equals(java.lang.Object other) |
java.util.List<java.lang.String> |
get(java.lang.Object key) |
java.util.List<MediaType> |
getAccept()
Return the list of acceptable media types,
as specified by the
Accept header. |
java.util.List<java.nio.charset.Charset> |
getAcceptCharset()
Return the list of acceptable charsets,
as specified by the
Accept-Charset header. |
java.util.Set<HttpMethod> |
getAllow()
Return the set of allowed
HTTP methods ,
as specified by the Allow header. |
java.lang.String |
getCacheControl()
Return the value of the
Cache-Control header. |
long |
getContentLength()
Return the length of the body in bytes, as specified by the
Content-Length header. |
MediaType |
getContentType()
Return the media type of the body, as specified
by the
Content-Type header. |
long |
getDate()
Return the date and time at which the message was created, as specified
by the
Date header. |
java.lang.String |
getETag()
Return the entity tag of the body, as specified by the
ETag header. |
long |
getExpires()
Return the date and time at which the message is no longer valid,
as specified by the
Expires header. |
java.lang.String |
getFirst(java.lang.String headerName)
Return the first header value for the given header name, if any.
|
long |
getFirstDate(java.lang.String headerName)
Parse the first header value for the given header name as a date,
return -1 if there is no value, or raise
IllegalArgumentException
if the value cannot be parsed as a date. |
long |
getIfModifiedSince()
Return the value of the
If-Modified-Since header. |
java.util.List<java.lang.String> |
getIfNoneMatch()
Return the value of the
If-None-Match header. |
long |
getIfNotModifiedSince()
Deprecated.
|
long |
getLastModified()
Return the time the resource was last changed, as specified by the
Last-Modified header. |
java.net.URI |
getLocation()
Return the (new) location of a resource
as specified by the
Location header. |
java.lang.String |
getPragma()
Return the value of the
Pragma header. |
int |
hashCode() |
boolean |
isEmpty() |
java.util.Set<java.lang.String> |
keySet() |
java.util.List<java.lang.String> |
put(java.lang.String key,
java.util.List<java.lang.String> value) |
void |
putAll(java.util.Map<? extends java.lang.String,? extends java.util.List<java.lang.String>> map) |
static HttpHeaders |
readOnlyHttpHeaders(HttpHeaders headers)
Returns
HttpHeaders object that can only be read, not written to. |
java.util.List<java.lang.String> |
remove(java.lang.Object key) |
void |
set(java.lang.String headerName,
java.lang.String headerValue)
Set the given, single header value under the given name.
|
void |
setAccept(java.util.List<MediaType> acceptableMediaTypes)
Set the list of acceptable media types,
as specified by the
Accept header. |
void |
setAcceptCharset(java.util.List<java.nio.charset.Charset> acceptableCharsets)
Set the list of acceptable charsets,
as specified by the
Accept-Charset header. |
void |
setAll(java.util.Map<java.lang.String,java.lang.String> values)
Set the given values under.
|
void |
setAllow(java.util.Set<HttpMethod> allowedMethods)
Set the set of allowed
HTTP methods ,
as specified by the Allow header. |
void |
setCacheControl(java.lang.String cacheControl)
Set the (new) value of the
Cache-Control header. |
void |
setContentDispositionFormData(java.lang.String name,
java.lang.String filename)
Set the (new) value of the
Content-Disposition header
for form-data . |
void |
setContentLength(long contentLength)
Set the length of the body in bytes, as specified by the
Content-Length header. |
void |
setContentType(MediaType mediaType)
Set the media type of the body,
as specified by the
Content-Type header. |
void |
setDate(long date)
Set the date and time at which the message was created, as specified
by the
Date header. |
void |
setDate(java.lang.String headerName,
long date)
Set the given date under the given header name after formatting it as a string
using the pattern
"EEE, dd MMM yyyy HH:mm:ss zzz" . |
void |
setETag(java.lang.String eTag)
Set the (new) entity tag of the body, as specified by the
ETag header. |
void |
setExpires(long expires)
Set the date and time at which the message is no longer valid,
as specified by the
Expires header. |
void |
setIfModifiedSince(long ifModifiedSince)
Set the (new) value of the
If-Modified-Since header. |
void |
setIfNoneMatch(java.util.List<java.lang.String> ifNoneMatchList)
Set the (new) values of the
If-None-Match header. |
void |
setIfNoneMatch(java.lang.String ifNoneMatch)
Set the (new) value of the
If-None-Match header. |
void |
setLastModified(long lastModified)
Set the time the resource was last changed, as specified by the
Last-Modified header. |
void |
setLocation(java.net.URI location)
Set the (new) location of a resource,
as specified by the
Location header. |
void |
setPragma(java.lang.String pragma)
Set the (new) value of the
Pragma header. |
int |
size() |
java.util.Map<java.lang.String,java.lang.String> |
toSingleValueMap()
Returns the first values contained in this
MultiValueMap . |
java.lang.String |
toString() |
java.util.Collection<java.util.List<java.lang.String>> |
values() |
private static final long serialVersionUID
private static final java.lang.String ACCEPT
private static final java.lang.String ACCEPT_CHARSET
private static final java.lang.String ALLOW
private static final java.lang.String CACHE_CONTROL
private static final java.lang.String CONTENT_DISPOSITION
private static final java.lang.String CONTENT_LENGTH
private static final java.lang.String CONTENT_TYPE
private static final java.lang.String DATE
private static final java.lang.String ETAG
private static final java.lang.String EXPIRES
private static final java.lang.String IF_MODIFIED_SINCE
private static final java.lang.String IF_NONE_MATCH
private static final java.lang.String LAST_MODIFIED
private static final java.lang.String LOCATION
private static final java.lang.String PRAGMA
private static final java.lang.String[] DATE_FORMATS
private static java.util.TimeZone GMT
private final java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers
private HttpHeaders(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers, boolean readOnly)
HttpHeader
instances.public HttpHeaders()
HttpHeaders
object.public static HttpHeaders readOnlyHttpHeaders(HttpHeaders headers)
HttpHeaders
object that can only be read, not written to.public void setAccept(java.util.List<MediaType> acceptableMediaTypes)
Accept
header.public java.util.List<MediaType> getAccept()
Accept
header.
Returns an empty list when the acceptable media types are unspecified.
public void setAcceptCharset(java.util.List<java.nio.charset.Charset> acceptableCharsets)
Accept-Charset
header.public java.util.List<java.nio.charset.Charset> getAcceptCharset()
Accept-Charset
header.public void setAllow(java.util.Set<HttpMethod> allowedMethods)
HTTP methods
,
as specified by the Allow
header.public java.util.Set<HttpMethod> getAllow()
HTTP methods
,
as specified by the Allow
header.
Returns an empty set when the allowed methods are unspecified.
public void setCacheControl(java.lang.String cacheControl)
Cache-Control
header.public java.lang.String getCacheControl()
Cache-Control
header.public void setContentDispositionFormData(java.lang.String name, java.lang.String filename)
Content-Disposition
header
for form-data
.name
- the control namefilename
- the filename (may be null
)public void setContentLength(long contentLength)
Content-Length
header.public long getContentLength()
Content-Length
header.
Returns -1 when the content-length is unknown.
public void setContentType(MediaType mediaType)
Content-Type
header.public MediaType getContentType()
Content-Type
header.
Returns null
when the content-type is unknown.
public void setDate(long date)
Date
header.
The date should be specified as the number of milliseconds since January 1, 1970 GMT.
public long getDate()
Date
header.
The date is returned as the number of milliseconds since January 1, 1970 GMT. Returns -1 when the date is unknown.
java.lang.IllegalArgumentException
- if the value can't be converted to a datepublic void setETag(java.lang.String eTag)
ETag
header.public java.lang.String getETag()
ETag
header.public void setExpires(long expires)
Expires
header.
The date should be specified as the number of milliseconds since January 1, 1970 GMT.
public long getExpires()
Expires
header.
The date is returned as the number of milliseconds since January 1, 1970 GMT. Returns -1 when the date is unknown.
public void setIfModifiedSince(long ifModifiedSince)
If-Modified-Since
header.
The date should be specified as the number of milliseconds since January 1, 1970 GMT.
@Deprecated public long getIfNotModifiedSince()
getIfModifiedSince()
IfModifiedSince
header.
The date is returned as the number of milliseconds since January 1, 1970 GMT. Returns -1 when the date is unknown.
public long getIfModifiedSince()
If-Modified-Since
header.
The date is returned as the number of milliseconds since January 1, 1970 GMT. Returns -1 when the date is unknown.
public void setIfNoneMatch(java.lang.String ifNoneMatch)
If-None-Match
header.public void setIfNoneMatch(java.util.List<java.lang.String> ifNoneMatchList)
If-None-Match
header.public java.util.List<java.lang.String> getIfNoneMatch()
If-None-Match
header.public void setLastModified(long lastModified)
Last-Modified
header.
The date should be specified as the number of milliseconds since January 1, 1970 GMT.
public long getLastModified()
Last-Modified
header.
The date is returned as the number of milliseconds since January 1, 1970 GMT. Returns -1 when the date is unknown.
public void setLocation(java.net.URI location)
Location
header.public java.net.URI getLocation()
Location
header.
Returns null
when the location is unknown.
public void setPragma(java.lang.String pragma)
Pragma
header.public java.lang.String getPragma()
Pragma
header.public long getFirstDate(java.lang.String headerName)
IllegalArgumentException
if the value cannot be parsed as a date.public void setDate(java.lang.String headerName, long date)
"EEE, dd MMM yyyy HH:mm:ss zzz"
. The equivalent of
set(String, String)
but for date headers.public java.lang.String getFirst(java.lang.String headerName)
getFirst
in interface MultiValueMap<java.lang.String,java.lang.String>
headerName
- the header namenull
if nonepublic void add(java.lang.String headerName, java.lang.String headerValue)
add
in interface MultiValueMap<java.lang.String,java.lang.String>
headerName
- the header nameheaderValue
- the header valuejava.lang.UnsupportedOperationException
- if adding headers is not supportedput(String, List)
,
set(String, String)
public void set(java.lang.String headerName, java.lang.String headerValue)
set
in interface MultiValueMap<java.lang.String,java.lang.String>
headerName
- the header nameheaderValue
- the header valuejava.lang.UnsupportedOperationException
- if adding headers is not supportedput(String, List)
,
add(String, String)
public void setAll(java.util.Map<java.lang.String,java.lang.String> values)
MultiValueMap
setAll
in interface MultiValueMap<java.lang.String,java.lang.String>
values
- the values.public java.util.Map<java.lang.String,java.lang.String> toSingleValueMap()
MultiValueMap
MultiValueMap
.toSingleValueMap
in interface MultiValueMap<java.lang.String,java.lang.String>
public int size()
size
in interface java.util.Map<java.lang.String,java.util.List<java.lang.String>>
public boolean isEmpty()
isEmpty
in interface java.util.Map<java.lang.String,java.util.List<java.lang.String>>
public boolean containsKey(java.lang.Object key)
containsKey
in interface java.util.Map<java.lang.String,java.util.List<java.lang.String>>
public boolean containsValue(java.lang.Object value)
containsValue
in interface java.util.Map<java.lang.String,java.util.List<java.lang.String>>
public java.util.List<java.lang.String> get(java.lang.Object key)
get
in interface java.util.Map<java.lang.String,java.util.List<java.lang.String>>
public java.util.List<java.lang.String> put(java.lang.String key, java.util.List<java.lang.String> value)
put
in interface java.util.Map<java.lang.String,java.util.List<java.lang.String>>
public java.util.List<java.lang.String> remove(java.lang.Object key)
remove
in interface java.util.Map<java.lang.String,java.util.List<java.lang.String>>
public void putAll(java.util.Map<? extends java.lang.String,? extends java.util.List<java.lang.String>> map)
putAll
in interface java.util.Map<java.lang.String,java.util.List<java.lang.String>>
public void clear()
clear
in interface java.util.Map<java.lang.String,java.util.List<java.lang.String>>
public java.util.Set<java.lang.String> keySet()
keySet
in interface java.util.Map<java.lang.String,java.util.List<java.lang.String>>
public java.util.Collection<java.util.List<java.lang.String>> values()
values
in interface java.util.Map<java.lang.String,java.util.List<java.lang.String>>
public java.util.Set<java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>> entrySet()
entrySet
in interface java.util.Map<java.lang.String,java.util.List<java.lang.String>>
public boolean equals(java.lang.Object other)
equals
in interface java.util.Map<java.lang.String,java.util.List<java.lang.String>>
equals
in class java.lang.Object
public int hashCode()
hashCode
in interface java.util.Map<java.lang.String,java.util.List<java.lang.String>>
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object