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 voidclose()Forcibly close the exchange.voidendExchange()End the exchange normally.<T> TgetAttachment(AttachmentKey<T> key)ByteBufferPoolgetBufferPool()org.xnio.OptionMapgetOptions()Set<WebSocketChannel>getPeerConnections()StringgetQueryString()StringgetRequestHeader(String headerName)gets the first request header with the specified nameMap<String,List<String>>getRequestHeaders()Map<String,List<String>>getRequestParameters()StringgetRequestScheme()Get the request scheme, usually http or httpsStringgetRequestURI()StringgetResponseHeader(String headerName)get a response headerMap<String,List<String>>getResponseHeaders()ObjectgetSession()Gets the session, if anyPrincipalgetUserPrincipal()booleanisUserInRole(String role)<T> voidputAttachment(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 datavoidsetResponseHeader(String headerName, String headerValue)Set a response headervoidsetResponseHeaders(Map<String,List<String>> headers)Sets the response headersvoidupgradeChannel(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:
putAttachmentin interfaceWebSocketHttpExchange
-
getAttachment
public <T> T getAttachment(AttachmentKey<T> key)
- Specified by:
getAttachmentin interfaceWebSocketHttpExchange
-
getRequestHeader
public String getRequestHeader(String headerName)
Description copied from interface:WebSocketHttpExchangegets the first request header with the specified name- Specified by:
getRequestHeaderin interfaceWebSocketHttpExchange- Parameters:
headerName- The header name- Returns:
- The header value, or null
-
getRequestHeaders
public Map<String,List<String>> getRequestHeaders()
- Specified by:
getRequestHeadersin interfaceWebSocketHttpExchange- Returns:
- An unmodifiable map of request headers
-
getResponseHeader
public String getResponseHeader(String headerName)
Description copied from interface:WebSocketHttpExchangeget a response header- Specified by:
getResponseHeaderin interfaceWebSocketHttpExchange- Parameters:
headerName- The header name- Returns:
- The header value, or null
-
getResponseHeaders
public Map<String,List<String>> getResponseHeaders()
- Specified by:
getResponseHeadersin interfaceWebSocketHttpExchange- Returns:
- An unmodifiable map of response headers
-
setResponseHeaders
public void setResponseHeaders(Map<String,List<String>> headers)
Description copied from interface:WebSocketHttpExchangeSets the response headers- Specified by:
setResponseHeadersin interfaceWebSocketHttpExchange
-
setResponseHeader
public void setResponseHeader(String headerName, String headerValue)
Description copied from interface:WebSocketHttpExchangeSet a response header- Specified by:
setResponseHeaderin interfaceWebSocketHttpExchange- Parameters:
headerName- The header nameheaderValue- The header value
-
upgradeChannel
public void upgradeChannel(HttpUpgradeListener upgradeCallback)
Description copied from interface:WebSocketHttpExchangeUpgrade the underlying channel- Specified by:
upgradeChannelin interfaceWebSocketHttpExchange
-
sendData
public org.xnio.IoFuture<Void> sendData(ByteBuffer data)
Description copied from interface:WebSocketHttpExchangeSend some data- Specified by:
sendDatain interfaceWebSocketHttpExchange- Parameters:
data- The data
-
readRequestData
public org.xnio.IoFuture<byte[]> readRequestData()
Description copied from interface:WebSocketHttpExchangeGets the body of the request.- Specified by:
readRequestDatain interfaceWebSocketHttpExchange
-
endExchange
public void endExchange()
Description copied from interface:WebSocketHttpExchangeEnd 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:
endExchangein interfaceWebSocketHttpExchange
-
close
public void close()
Description copied from interface:WebSocketHttpExchangeForcibly close the exchange.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceWebSocketHttpExchange
-
getRequestScheme
public String getRequestScheme()
Description copied from interface:WebSocketHttpExchangeGet the request scheme, usually http or https- Specified by:
getRequestSchemein interfaceWebSocketHttpExchange- Returns:
- The request scheme
-
getRequestURI
public String getRequestURI()
- Specified by:
getRequestURIin interfaceWebSocketHttpExchange- Returns:
- The request URI, including the query string
-
getBufferPool
public ByteBufferPool getBufferPool()
- Specified by:
getBufferPoolin interfaceWebSocketHttpExchange- Returns:
- The buffer pool
-
getQueryString
public String getQueryString()
- Specified by:
getQueryStringin interfaceWebSocketHttpExchange- Returns:
- The query string
-
getSession
public Object getSession()
Description copied from interface:WebSocketHttpExchangeGets the session, if any- Specified by:
getSessionin interfaceWebSocketHttpExchange- Returns:
- The session object, or null
-
getRequestParameters
public Map<String,List<String>> getRequestParameters()
- Specified by:
getRequestParametersin interfaceWebSocketHttpExchange
-
getUserPrincipal
public Principal getUserPrincipal()
- Specified by:
getUserPrincipalin interfaceWebSocketHttpExchange
-
isUserInRole
public boolean isUserInRole(String role)
- Specified by:
isUserInRolein interfaceWebSocketHttpExchange
-
getPeerConnections
public Set<WebSocketChannel> getPeerConnections()
- Specified by:
getPeerConnectionsin interfaceWebSocketHttpExchange
-
getOptions
public org.xnio.OptionMap getOptions()
- Specified by:
getOptionsin interfaceWebSocketHttpExchange
-
-