Class UpgradeResponseAdapter
- java.lang.Object
-
- org.eclipse.jetty.websocket.common.UpgradeResponseAdapter
-
- All Implemented Interfaces:
UpgradeResponse
- Direct Known Subclasses:
ClientUpgradeResponse
public class UpgradeResponseAdapter extends java.lang.Object implements UpgradeResponse
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringSEC_WEBSOCKET_PROTOCOL
-
Constructor Summary
Constructors Constructor Description UpgradeResponseAdapter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddHeader(java.lang.String name, java.lang.String value)Add a header value to the response.java.lang.StringgetAcceptedSubProtocol()Get the accepted WebSocket protocol.java.util.List<ExtensionConfig>getExtensions()Get the list of extensions that should be used for the websocket.java.lang.StringgetHeader(java.lang.String name)Get a header valuejava.util.Set<java.lang.String>getHeaderNames()Get the header namesjava.util.Map<java.lang.String,java.util.List<java.lang.String>>getHeaders()Get the headers mapjava.util.List<java.lang.String>getHeaders(java.lang.String name)Get the multi-value header valueintgetStatusCode()Get the HTTP Response Status Codejava.lang.StringgetStatusReason()Get the HTTP Response Status ReasonbooleanisSuccess()Test if upgrade response is successful.voidsendForbidden(java.lang.String message)Issue a forbidden upgrade response.voidsetAcceptedSubProtocol(java.lang.String protocol)Set the accepted WebSocket Protocol.voidsetExtensions(java.util.List<ExtensionConfig> extensions)Set the list of extensions that are approved for use with this websocket.voidsetHeader(java.lang.String name, java.lang.String value)Set a headervoidsetStatusCode(int statusCode)Set the HTTP Response status codevoidsetStatusReason(java.lang.String statusReason)Set the HTTP Response status reason phrasevoidsetSuccess(boolean success)Set the success of the upgrade response.
-
-
-
Field Detail
-
SEC_WEBSOCKET_PROTOCOL
public static final java.lang.String SEC_WEBSOCKET_PROTOCOL
- See Also:
- Constant Field Values
-
-
Method Detail
-
addHeader
public void addHeader(java.lang.String name, java.lang.String value)Description copied from interface:UpgradeResponseAdd a header value to the response.- Specified by:
addHeaderin interfaceUpgradeResponse- Parameters:
name- the header namevalue- the header value
-
getAcceptedSubProtocol
public java.lang.String getAcceptedSubProtocol()
Get the accepted WebSocket protocol.- Specified by:
getAcceptedSubProtocolin interfaceUpgradeResponse- Returns:
- the accepted WebSocket protocol.
-
getExtensions
public java.util.List<ExtensionConfig> getExtensions()
Get the list of extensions that should be used for the websocket.- Specified by:
getExtensionsin interfaceUpgradeResponse- Returns:
- the list of negotiated extensions to use.
-
getHeader
public java.lang.String getHeader(java.lang.String name)
Description copied from interface:UpgradeResponseGet a header value- Specified by:
getHeaderin interfaceUpgradeResponse- Parameters:
name- the header name- Returns:
- the value (null if header doesn't exist)
-
getHeaderNames
public java.util.Set<java.lang.String> getHeaderNames()
Description copied from interface:UpgradeResponseGet the header names- Specified by:
getHeaderNamesin interfaceUpgradeResponse- Returns:
- the set of header names
-
getHeaders
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getHeaders()
Description copied from interface:UpgradeResponseGet the headers map- Specified by:
getHeadersin interfaceUpgradeResponse- Returns:
- the map of headers
-
getHeaders
public java.util.List<java.lang.String> getHeaders(java.lang.String name)
Description copied from interface:UpgradeResponseGet the multi-value header value- Specified by:
getHeadersin interfaceUpgradeResponse- Parameters:
name- the header name- Returns:
- the list of values (null if header doesn't exist)
-
getStatusCode
public int getStatusCode()
Description copied from interface:UpgradeResponseGet the HTTP Response Status Code- Specified by:
getStatusCodein interfaceUpgradeResponse- Returns:
- the status code
-
getStatusReason
public java.lang.String getStatusReason()
Description copied from interface:UpgradeResponseGet the HTTP Response Status Reason- Specified by:
getStatusReasonin interfaceUpgradeResponse- Returns:
- the HTTP Response status reason
-
isSuccess
public boolean isSuccess()
Description copied from interface:UpgradeResponseTest if upgrade response is successful.Merely notes if the response was sent as a WebSocket Upgrade, or was failed (resulting in no upgrade handshake)
- Specified by:
isSuccessin interfaceUpgradeResponse- Returns:
- true if upgrade response was generated, false if no upgrade response was generated
-
sendForbidden
public void sendForbidden(java.lang.String message) throws java.io.IOExceptionIssue a forbidden upgrade response.This means that the websocket endpoint was valid, but the conditions to use a WebSocket resulted in a forbidden access.
Use this when the origin or authentication is invalid.
- Specified by:
sendForbiddenin interfaceUpgradeResponse- Parameters:
message- the short 1 line detail message about the forbidden response- Throws:
java.io.IOException- if unable to send the forbidden
-
setAcceptedSubProtocol
public void setAcceptedSubProtocol(java.lang.String protocol)
Set the accepted WebSocket Protocol.- Specified by:
setAcceptedSubProtocolin interfaceUpgradeResponse- Parameters:
protocol- the protocol to list as accepted
-
setExtensions
public void setExtensions(java.util.List<ExtensionConfig> extensions)
Set the list of extensions that are approved for use with this websocket.Notes:
- Per the spec you cannot add extensions that have not been seen in the
UpgradeRequest, just remove entries you don't want to use - If this is unused, or a null is passed, then the list negotiation will follow default behavior and use the complete list of extensions that are available in this WebSocket server implementation.
- Specified by:
setExtensionsin interfaceUpgradeResponse- Parameters:
extensions- the list of extensions to use.
- Per the spec you cannot add extensions that have not been seen in the
-
setHeader
public void setHeader(java.lang.String name, java.lang.String value)Description copied from interface:UpgradeResponseSet a headerOverrides previous value of header (if set)
- Specified by:
setHeaderin interfaceUpgradeResponse- Parameters:
name- the header namevalue- the header value
-
setStatusCode
public void setStatusCode(int statusCode)
Description copied from interface:UpgradeResponseSet the HTTP Response status code- Specified by:
setStatusCodein interfaceUpgradeResponse- Parameters:
statusCode- the status code
-
setStatusReason
public void setStatusReason(java.lang.String statusReason)
Description copied from interface:UpgradeResponseSet the HTTP Response status reason phraseNote, not all implementation of UpgradeResponse can support this feature
- Specified by:
setStatusReasonin interfaceUpgradeResponse- Parameters:
statusReason- the status reason phrase
-
setSuccess
public void setSuccess(boolean success)
Description copied from interface:UpgradeResponseSet the success of the upgrade response.- Specified by:
setSuccessin interfaceUpgradeResponse- Parameters:
success- true to indicate a response to the upgrade handshake was sent, false to indicate no upgrade response was sent
-
-