Package io.undertow.websockets.spi
Class AsyncWebSocketHttpServerExchange
- java.lang.Object
-
- io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange
-
- All Implemented Interfaces:
WebSocketHttpExchange
,Closeable
,AutoCloseable
- Direct Known Subclasses:
BlockingWebSocketHttpServerExchange
public class AsyncWebSocketHttpServerExchange extends Object implements WebSocketHttpExchange
- Author:
- Stuart Douglas
-
-
Constructor Summary
Constructors Constructor Description AsyncWebSocketHttpServerExchange(HttpServerExchange exchange, Set<WebSocketChannel> peerConnections)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Forcibly close the exchange.void
endExchange()
End the exchange normally.<T> T
getAttachment(AttachmentKey<T> key)
ByteBufferPool
getBufferPool()
org.xnio.OptionMap
getOptions()
Set<WebSocketChannel>
getPeerConnections()
String
getQueryString()
String
getRequestHeader(String headerName)
gets the first request header with the specified nameMap<String,List<String>>
getRequestHeaders()
Map<String,List<String>>
getRequestParameters()
String
getRequestScheme()
Get the request scheme, usually http or httpsString
getRequestURI()
String
getResponseHeader(String headerName)
get a response headerMap<String,List<String>>
getResponseHeaders()
Object
getSession()
Gets the session, if anyPrincipal
getUserPrincipal()
boolean
isUserInRole(String role)
<T> void
putAttachment(AttachmentKey<T> key, T value)
org.xnio.IoFuture<byte[]>
readRequestData()
Gets the body of the request.org.xnio.IoFuture<Void>
sendData(ByteBuffer data)
Send some datavoid
setResponseHeader(String headerName, String headerValue)
Set a response headervoid
setResponseHeaders(Map<String,List<String>> headers)
Sets the response headersvoid
upgradeChannel(HttpUpgradeListener upgradeCallback)
Upgrade the underlying channel
-
-
-
Constructor Detail
-
AsyncWebSocketHttpServerExchange
public AsyncWebSocketHttpServerExchange(HttpServerExchange exchange, Set<WebSocketChannel> peerConnections)
-
-
Method Detail
-
putAttachment
public <T> void putAttachment(AttachmentKey<T> key, T value)
- Specified by:
putAttachment
in interfaceWebSocketHttpExchange
-
getAttachment
public <T> T getAttachment(AttachmentKey<T> key)
- Specified by:
getAttachment
in interfaceWebSocketHttpExchange
-
getRequestHeader
public String getRequestHeader(String headerName)
Description copied from interface:WebSocketHttpExchange
gets the first request header with the specified name- Specified by:
getRequestHeader
in interfaceWebSocketHttpExchange
- Parameters:
headerName
- The header name- Returns:
- The header value, or null
-
getRequestHeaders
public Map<String,List<String>> getRequestHeaders()
- Specified by:
getRequestHeaders
in interfaceWebSocketHttpExchange
- Returns:
- An unmodifiable map of request headers
-
getResponseHeader
public String getResponseHeader(String headerName)
Description copied from interface:WebSocketHttpExchange
get a response header- Specified by:
getResponseHeader
in interfaceWebSocketHttpExchange
- Parameters:
headerName
- The header name- Returns:
- The header value, or null
-
getResponseHeaders
public Map<String,List<String>> getResponseHeaders()
- Specified by:
getResponseHeaders
in interfaceWebSocketHttpExchange
- Returns:
- An unmodifiable map of response headers
-
setResponseHeaders
public void setResponseHeaders(Map<String,List<String>> headers)
Description copied from interface:WebSocketHttpExchange
Sets the response headers- Specified by:
setResponseHeaders
in interfaceWebSocketHttpExchange
-
setResponseHeader
public void setResponseHeader(String headerName, String headerValue)
Description copied from interface:WebSocketHttpExchange
Set a response header- Specified by:
setResponseHeader
in interfaceWebSocketHttpExchange
- Parameters:
headerName
- The header nameheaderValue
- The header value
-
upgradeChannel
public void upgradeChannel(HttpUpgradeListener upgradeCallback)
Description copied from interface:WebSocketHttpExchange
Upgrade the underlying channel- Specified by:
upgradeChannel
in interfaceWebSocketHttpExchange
-
sendData
public org.xnio.IoFuture<Void> sendData(ByteBuffer data)
Description copied from interface:WebSocketHttpExchange
Send some data- Specified by:
sendData
in interfaceWebSocketHttpExchange
- Parameters:
data
- The data
-
readRequestData
public org.xnio.IoFuture<byte[]> readRequestData()
Description copied from interface:WebSocketHttpExchange
Gets the body of the request.- Specified by:
readRequestData
in interfaceWebSocketHttpExchange
-
endExchange
public void endExchange()
Description copied from interface:WebSocketHttpExchange
End the exchange normally. If this is a blocking exchange this may be a noop, and the exchange will actually end when the call stack returns- Specified by:
endExchange
in interfaceWebSocketHttpExchange
-
close
public void close()
Description copied from interface:WebSocketHttpExchange
Forcibly close the exchange.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceWebSocketHttpExchange
-
getRequestScheme
public String getRequestScheme()
Description copied from interface:WebSocketHttpExchange
Get the request scheme, usually http or https- Specified by:
getRequestScheme
in interfaceWebSocketHttpExchange
- Returns:
- The request scheme
-
getRequestURI
public String getRequestURI()
- Specified by:
getRequestURI
in interfaceWebSocketHttpExchange
- Returns:
- The request URI, including the query string
-
getBufferPool
public ByteBufferPool getBufferPool()
- Specified by:
getBufferPool
in interfaceWebSocketHttpExchange
- Returns:
- The buffer pool
-
getQueryString
public String getQueryString()
- Specified by:
getQueryString
in interfaceWebSocketHttpExchange
- Returns:
- The query string
-
getSession
public Object getSession()
Description copied from interface:WebSocketHttpExchange
Gets the session, if any- Specified by:
getSession
in interfaceWebSocketHttpExchange
- Returns:
- The session object, or null
-
getRequestParameters
public Map<String,List<String>> getRequestParameters()
- Specified by:
getRequestParameters
in interfaceWebSocketHttpExchange
-
getUserPrincipal
public Principal getUserPrincipal()
- Specified by:
getUserPrincipal
in interfaceWebSocketHttpExchange
-
isUserInRole
public boolean isUserInRole(String role)
- Specified by:
isUserInRole
in interfaceWebSocketHttpExchange
-
getPeerConnections
public Set<WebSocketChannel> getPeerConnections()
- Specified by:
getPeerConnections
in interfaceWebSocketHttpExchange
-
getOptions
public org.xnio.OptionMap getOptions()
- Specified by:
getOptions
in interfaceWebSocketHttpExchange
-
-