Package io.undertow.websockets.spi
Class AsyncWebSocketHttpServerExchange
- java.lang.Object
-
- io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange
-
- All Implemented Interfaces:
WebSocketHttpExchange,java.io.Closeable,java.lang.AutoCloseable
- Direct Known Subclasses:
BlockingWebSocketHttpServerExchange
public class AsyncWebSocketHttpServerExchange extends java.lang.Object implements WebSocketHttpExchange
- Author:
- Stuart Douglas
-
-
Constructor Summary
Constructors Constructor Description AsyncWebSocketHttpServerExchange(HttpServerExchange exchange, java.util.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()java.util.Set<WebSocketChannel>getPeerConnections()java.lang.StringgetQueryString()java.lang.StringgetRequestHeader(java.lang.String headerName)gets the first request header with the specified namejava.util.Map<java.lang.String,java.util.List<java.lang.String>>getRequestHeaders()java.util.Map<java.lang.String,java.util.List<java.lang.String>>getRequestParameters()java.lang.StringgetRequestScheme()Get the request scheme, usually http or httpsjava.lang.StringgetRequestURI()java.lang.StringgetResponseHeader(java.lang.String headerName)get a response headerjava.util.Map<java.lang.String,java.util.List<java.lang.String>>getResponseHeaders()java.lang.ObjectgetSession()Gets the session, if anyjava.security.PrincipalgetUserPrincipal()booleanisUserInRole(java.lang.String role)<T> voidputAttachment(AttachmentKey<T> key, T value)org.xnio.IoFuture<byte[]>readRequestData()Gets the body of the request.org.xnio.IoFuture<java.lang.Void>sendData(java.nio.ByteBuffer data)Send some datavoidsetResponseHeader(java.lang.String headerName, java.lang.String headerValue)Set a response headervoidsetResponseHeaders(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers)Sets the response headersvoidupgradeChannel(HttpUpgradeListener upgradeCallback)Upgrade the underlying channel
-
-
-
Constructor Detail
-
AsyncWebSocketHttpServerExchange
public AsyncWebSocketHttpServerExchange(HttpServerExchange exchange, java.util.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 java.lang.String getRequestHeader(java.lang.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 java.util.Map<java.lang.String,java.util.List<java.lang.String>> getRequestHeaders()
- Specified by:
getRequestHeadersin interfaceWebSocketHttpExchange- Returns:
- An unmodifiable map of request headers
-
getResponseHeader
public java.lang.String getResponseHeader(java.lang.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 java.util.Map<java.lang.String,java.util.List<java.lang.String>> getResponseHeaders()
- Specified by:
getResponseHeadersin interfaceWebSocketHttpExchange- Returns:
- An unmodifiable map of response headers
-
setResponseHeaders
public void setResponseHeaders(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers)
Description copied from interface:WebSocketHttpExchangeSets the response headers- Specified by:
setResponseHeadersin interfaceWebSocketHttpExchange
-
setResponseHeader
public void setResponseHeader(java.lang.String headerName, java.lang.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<java.lang.Void> sendData(java.nio.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 interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfaceWebSocketHttpExchange
-
getRequestScheme
public java.lang.String getRequestScheme()
Description copied from interface:WebSocketHttpExchangeGet the request scheme, usually http or https- Specified by:
getRequestSchemein interfaceWebSocketHttpExchange- Returns:
- The request scheme
-
getRequestURI
public java.lang.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 java.lang.String getQueryString()
- Specified by:
getQueryStringin interfaceWebSocketHttpExchange- Returns:
- The query string
-
getSession
public java.lang.Object getSession()
Description copied from interface:WebSocketHttpExchangeGets the session, if any- Specified by:
getSessionin interfaceWebSocketHttpExchange- Returns:
- The session object, or null
-
getRequestParameters
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getRequestParameters()
- Specified by:
getRequestParametersin interfaceWebSocketHttpExchange
-
getUserPrincipal
public java.security.Principal getUserPrincipal()
- Specified by:
getUserPrincipalin interfaceWebSocketHttpExchange
-
isUserInRole
public boolean isUserInRole(java.lang.String role)
- Specified by:
isUserInRolein interfaceWebSocketHttpExchange
-
getPeerConnections
public java.util.Set<WebSocketChannel> getPeerConnections()
- Specified by:
getPeerConnectionsin interfaceWebSocketHttpExchange
-
getOptions
public org.xnio.OptionMap getOptions()
- Specified by:
getOptionsin interfaceWebSocketHttpExchange
-
-