Package org.springframework.web.socket
Class WebSocketHttpHeaders
- java.lang.Object
- org.springframework.http.HttpHeaders
- org.springframework.web.socket.WebSocketHttpHeaders
- All Implemented Interfaces:
Serializable
,Map<String,List<String>>
,MultiValueMap<String,String>
public class WebSocketHttpHeaders extends HttpHeaders
AnHttpHeaders
variant that adds support for the HTTP headers defined by the WebSocket specification RFC 6455.- Since:
- 4.0
- Author:
- Rossen Stoyanchev
- See Also:
- Serialized Form
Field Summary
Fields Modifier and Type Field Description static String
SEC_WEBSOCKET_ACCEPT
static String
SEC_WEBSOCKET_EXTENSIONS
static String
SEC_WEBSOCKET_KEY
static String
SEC_WEBSOCKET_PROTOCOL
static String
SEC_WEBSOCKET_VERSION
Fields inherited from class org.springframework.http.HttpHeaders
ACCEPT, ACCEPT_CHARSET, ACCEPT_ENCODING, ACCEPT_LANGUAGE, ACCEPT_RANGES, ACCESS_CONTROL_ALLOW_CREDENTIALS, ACCESS_CONTROL_ALLOW_HEADERS, ACCESS_CONTROL_ALLOW_METHODS, ACCESS_CONTROL_ALLOW_ORIGIN, ACCESS_CONTROL_EXPOSE_HEADERS, ACCESS_CONTROL_MAX_AGE, ACCESS_CONTROL_REQUEST_HEADERS, ACCESS_CONTROL_REQUEST_METHOD, AGE, ALLOW, AUTHORIZATION, CACHE_CONTROL, CONNECTION, CONTENT_DISPOSITION, CONTENT_ENCODING, CONTENT_LANGUAGE, CONTENT_LENGTH, CONTENT_LOCATION, CONTENT_RANGE, CONTENT_TYPE, COOKIE, DATE, ETAG, EXPECT, EXPIRES, FROM, HOST, IF_MATCH, IF_MODIFIED_SINCE, IF_NONE_MATCH, IF_RANGE, IF_UNMODIFIED_SINCE, LAST_MODIFIED, LINK, LOCATION, MAX_FORWARDS, ORIGIN, PRAGMA, PROXY_AUTHENTICATE, PROXY_AUTHORIZATION, RANGE, REFERER, RETRY_AFTER, SERVER, SET_COOKIE, SET_COOKIE2, TE, TRAILER, TRANSFER_ENCODING, UPGRADE, USER_AGENT, VARY, VIA, WARNING, WWW_AUTHENTICATE
Constructor Summary
Constructors Constructor Description WebSocketHttpHeaders()
Create a new instance.WebSocketHttpHeaders(HttpHeaders headers)
Create an instance that wraps the given pre-existing HttpHeaders and also propagate all changes to it.
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(String headerName, String headerValue)
Add the given, single header value under the given name.void
clear()
boolean
containsKey(Object key)
boolean
containsValue(Object value)
Set<Map.Entry<String,List<String>>>
entrySet()
boolean
equals(Object other)
List<String>
get(Object key)
String
getFirst(String headerName)
Return the first header value for the given header name, if any.String
getSecWebSocketAccept()
Returns the value of theSec-WebSocket-Accept
header.List<WebSocketExtension>
getSecWebSocketExtensions()
Returns the value of theSec-WebSocket-Extensions
header.String
getSecWebSocketKey()
Returns the value of theSec-WebSocket-Key
header.List<String>
getSecWebSocketProtocol()
Returns the value of theSec-WebSocket-Key
header.String
getSecWebSocketVersion()
Returns the value of theSec-WebSocket-Version
header.int
hashCode()
boolean
isEmpty()
Set<String>
keySet()
List<String>
put(String key, List<String> value)
void
putAll(Map<? extends String,? extends List<String>> m)
static WebSocketHttpHeaders
readOnlyWebSocketHttpHeaders(WebSocketHttpHeaders headers)
ReturnsWebSocketHttpHeaders
object that can only be read, not written to.List<String>
remove(Object key)
void
set(String headerName, String headerValue)
Set the given, single header value under the given name.void
setAll(Map<String,String> values)
Set the given values under.void
setSecWebSocketAccept(String secWebSocketAccept)
Sets the (new) value of theSec-WebSocket-Accept
header.void
setSecWebSocketExtensions(List<WebSocketExtension> extensions)
Sets the (new) value(s) of theSec-WebSocket-Extensions
header.void
setSecWebSocketKey(String secWebSocketKey)
Sets the (new) value of theSec-WebSocket-Key
header.void
setSecWebSocketProtocol(String secWebSocketProtocol)
Sets the (new) value of theSec-WebSocket-Protocol
header.void
setSecWebSocketProtocol(List<String> secWebSocketProtocols)
Sets the (new) value of theSec-WebSocket-Protocol
header.void
setSecWebSocketVersion(String secWebSocketVersion)
Sets the (new) value of theSec-WebSocket-Version
header.int
size()
Map<String,String>
toSingleValueMap()
Return aMap
with the first values contained in thisMultiValueMap
.String
toString()
Collection<List<String>>
values()
Methods inherited from class org.springframework.http.HttpHeaders
getAccept, getAcceptCharset, getAccessControlAllowCredentials, getAccessControlAllowHeaders, getAccessControlAllowMethods, getAccessControlAllowOrigin, getAccessControlExposeHeaders, getAccessControlMaxAge, getAccessControlRequestHeaders, getAccessControlRequestMethod, getAllow, getCacheControl, getConnection, getContentLength, getContentType, getDate, getETag, getETagValuesAsList, getExpires, getFieldValues, getFirstDate, getIfMatch, getIfModifiedSince, getIfNoneMatch, getIfUnmodifiedSince, getLastModified, getLocation, getOrigin, getPragma, getRange, getUpgrade, getValuesAsList, getVary, readOnlyHttpHeaders, setAccept, setAcceptCharset, setAccessControlAllowCredentials, setAccessControlAllowHeaders, setAccessControlAllowMethods, setAccessControlAllowOrigin, setAccessControlExposeHeaders, setAccessControlMaxAge, setAccessControlRequestHeaders, setAccessControlRequestMethod, setAllow, setCacheControl, setConnection, setConnection, setContentDispositionFormData, setContentDispositionFormData, setContentLength, setContentType, setDate, setDate, setETag, setExpires, setIfMatch, setIfMatch, setIfModifiedSince, setIfNoneMatch, setIfNoneMatch, setIfUnmodifiedSince, setLastModified, setLocation, setOrigin, setPragma, setRange, setUpgrade, setVary, toCommaDelimitedString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
Field Detail
SEC_WEBSOCKET_ACCEPT
public static final String SEC_WEBSOCKET_ACCEPT
- See Also:
- Constant Field Values
SEC_WEBSOCKET_EXTENSIONS
public static final String SEC_WEBSOCKET_EXTENSIONS
- See Also:
- Constant Field Values
SEC_WEBSOCKET_KEY
public static final String SEC_WEBSOCKET_KEY
- See Also:
- Constant Field Values
SEC_WEBSOCKET_PROTOCOL
public static final String SEC_WEBSOCKET_PROTOCOL
- See Also:
- Constant Field Values
SEC_WEBSOCKET_VERSION
public static final String SEC_WEBSOCKET_VERSION
- See Also:
- Constant Field Values
Constructor Detail
WebSocketHttpHeaders
public WebSocketHttpHeaders()
Create a new instance.
WebSocketHttpHeaders
public WebSocketHttpHeaders(HttpHeaders headers)
Create an instance that wraps the given pre-existing HttpHeaders and also propagate all changes to it.- Parameters:
headers
- the HTTP headers to wrap
Method Detail
readOnlyWebSocketHttpHeaders
public static WebSocketHttpHeaders readOnlyWebSocketHttpHeaders(WebSocketHttpHeaders headers)
ReturnsWebSocketHttpHeaders
object that can only be read, not written to.
setSecWebSocketAccept
public void setSecWebSocketAccept(String secWebSocketAccept)
Sets the (new) value of theSec-WebSocket-Accept
header.- Parameters:
secWebSocketAccept
- the value of the header
getSecWebSocketAccept
public String getSecWebSocketAccept()
Returns the value of theSec-WebSocket-Accept
header.- Returns:
- the value of the header
getSecWebSocketExtensions
public List<WebSocketExtension> getSecWebSocketExtensions()
Returns the value of theSec-WebSocket-Extensions
header.- Returns:
- the value of the header
setSecWebSocketExtensions
public void setSecWebSocketExtensions(List<WebSocketExtension> extensions)
Sets the (new) value(s) of theSec-WebSocket-Extensions
header.- Parameters:
extensions
- the values for the header
setSecWebSocketKey
public void setSecWebSocketKey(String secWebSocketKey)
Sets the (new) value of theSec-WebSocket-Key
header.- Parameters:
secWebSocketKey
- the value of the header
getSecWebSocketKey
public String getSecWebSocketKey()
Returns the value of theSec-WebSocket-Key
header.- Returns:
- the value of the header
setSecWebSocketProtocol
public void setSecWebSocketProtocol(String secWebSocketProtocol)
Sets the (new) value of theSec-WebSocket-Protocol
header.- Parameters:
secWebSocketProtocol
- the value of the header
setSecWebSocketProtocol
public void setSecWebSocketProtocol(List<String> secWebSocketProtocols)
Sets the (new) value of theSec-WebSocket-Protocol
header.- Parameters:
secWebSocketProtocols
- the value of the header
getSecWebSocketProtocol
public List<String> getSecWebSocketProtocol()
Returns the value of theSec-WebSocket-Key
header.- Returns:
- the value of the header
setSecWebSocketVersion
public void setSecWebSocketVersion(String secWebSocketVersion)
Sets the (new) value of theSec-WebSocket-Version
header.- Parameters:
secWebSocketVersion
- the value of the header
getSecWebSocketVersion
public String getSecWebSocketVersion()
Returns the value of theSec-WebSocket-Version
header.- Returns:
- the value of the header
getFirst
public String getFirst(String headerName)
Return the first header value for the given header name, if any.- Specified by:
getFirst
in interfaceMultiValueMap<String,String>
- Overrides:
getFirst
in classHttpHeaders
- Parameters:
headerName
- the header name- Returns:
- the first header value; or
null
add
public void add(String headerName, String headerValue)
Add the given, single header value under the given name.- Specified by:
add
in interfaceMultiValueMap<String,String>
- Overrides:
add
in classHttpHeaders
- Parameters:
headerName
- the header nameheaderValue
- the header value- Throws:
UnsupportedOperationException
- if adding headers is not supported- See Also:
put(String, List)
,set(String, String)
set
public void set(String headerName, String headerValue)
Set the given, single header value under the given name.- Specified by:
set
in interfaceMultiValueMap<String,String>
- Overrides:
set
in classHttpHeaders
- Parameters:
headerName
- the header nameheaderValue
- the header value- Throws:
UnsupportedOperationException
- if adding headers is not supported- See Also:
put(String, List)
,add(String, String)
setAll
public void setAll(Map<String,String> values)
Description copied from interface:MultiValueMap
Set the given values under.- Specified by:
setAll
in interfaceMultiValueMap<String,String>
- Overrides:
setAll
in classHttpHeaders
- Parameters:
values
- the values.
toSingleValueMap
public Map<String,String> toSingleValueMap()
Description copied from interface:MultiValueMap
Return aMap
with the first values contained in thisMultiValueMap
.- Specified by:
toSingleValueMap
in interfaceMultiValueMap<String,String>
- Overrides:
toSingleValueMap
in classHttpHeaders
- Returns:
- a single value representation of this map
size
public int size()
isEmpty
public boolean isEmpty()
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKey
in interfaceMap<String,List<String>>
- Overrides:
containsKey
in classHttpHeaders
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValue
in interfaceMap<String,List<String>>
- Overrides:
containsValue
in classHttpHeaders
clear
public void clear()
values
public Collection<List<String>> values()
hashCode
public int hashCode()
toString
public String toString()
- Overrides:
toString
in classHttpHeaders