Package io.undertow.server.protocol.http
Class AlpnOpenListener
- java.lang.Object
-
- io.undertow.server.protocol.http.AlpnOpenListener
-
- All Implemented Interfaces:
OpenListener,java.util.EventListener,org.xnio.ChannelListener<org.xnio.StreamConnection>
public class AlpnOpenListener extends java.lang.Object implements org.xnio.ChannelListener<org.xnio.StreamConnection>, OpenListener
Open listener adaptor for ALPN connectionsNot a proper open listener as such, but more a mechanism for selecting between them.
- Author:
- Stuart Douglas
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringIBM_REQUIRED_CIPHERNames of ciphers in IBM JVM are prefixed with `SSL` instead of `TLS`, see e.g.: https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.dev.doc/q113210_.htm.static java.lang.StringREQUIRED_CIPHERHTTP/2 required cipher.
-
Constructor Summary
Constructors Constructor Description AlpnOpenListener(ByteBufferPool bufferPool)AlpnOpenListener(ByteBufferPool bufferPool, org.xnio.OptionMap undertowOptions)AlpnOpenListener(ByteBufferPool bufferPool, org.xnio.OptionMap undertowOptions, DelegateOpenListener httpListener)AlpnOpenListener(ByteBufferPool bufferPool, org.xnio.OptionMap undertowOptions, java.lang.String fallbackProtocol, DelegateOpenListener fallbackListener)AlpnOpenListener(org.xnio.Pool<java.nio.ByteBuffer> bufferPool, org.xnio.OptionMap undertowOptions)AlpnOpenListener(org.xnio.Pool<java.nio.ByteBuffer> bufferPool, org.xnio.OptionMap undertowOptions, DelegateOpenListener httpListener)AlpnOpenListener(org.xnio.Pool<java.nio.ByteBuffer> bufferPool, org.xnio.OptionMap undertowOptions, java.lang.String fallbackProtocol, DelegateOpenListener fallbackListener)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AlpnOpenListeneraddProtocol(java.lang.String name, DelegateOpenListener listener, int weight)voidcloseConnections()Close all active connections that were handled by this listenerstatic booleanengineSupportsHTTP2(javax.net.ssl.SSLEngine engine)ByteBufferPoolgetBufferPool()ConnectorStatisticsgetConnectorStatistics()HttpHandlergetRootHandler()org.xnio.OptionMapgetUndertowOptions()voidhandleEvent(org.xnio.StreamConnection channel)voidsetRootHandler(HttpHandler rootHandler)Sets the root handlervoidsetUndertowOptions(org.xnio.OptionMap undertowOptions)
-
-
-
Field Detail
-
REQUIRED_CIPHER
public static final java.lang.String REQUIRED_CIPHER
HTTP/2 required cipher. Not strictly part of ALPN but it can live here for now till we have a better solution.- See Also:
- Constant Field Values
-
IBM_REQUIRED_CIPHER
public static final java.lang.String IBM_REQUIRED_CIPHER
Names of ciphers in IBM JVM are prefixed with `SSL` instead of `TLS`, see e.g.: https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.dev.doc/q113210_.htm. Thus let's have IBM alternative for the REQUIRED_CIPHER variable too.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AlpnOpenListener
public AlpnOpenListener(org.xnio.Pool<java.nio.ByteBuffer> bufferPool, org.xnio.OptionMap undertowOptions, DelegateOpenListener httpListener)
-
AlpnOpenListener
public AlpnOpenListener(org.xnio.Pool<java.nio.ByteBuffer> bufferPool, org.xnio.OptionMap undertowOptions)
-
AlpnOpenListener
public AlpnOpenListener(org.xnio.Pool<java.nio.ByteBuffer> bufferPool, org.xnio.OptionMap undertowOptions, java.lang.String fallbackProtocol, DelegateOpenListener fallbackListener)
-
AlpnOpenListener
public AlpnOpenListener(ByteBufferPool bufferPool, org.xnio.OptionMap undertowOptions, DelegateOpenListener httpListener)
-
AlpnOpenListener
public AlpnOpenListener(ByteBufferPool bufferPool)
-
AlpnOpenListener
public AlpnOpenListener(ByteBufferPool bufferPool, org.xnio.OptionMap undertowOptions)
-
AlpnOpenListener
public AlpnOpenListener(ByteBufferPool bufferPool, org.xnio.OptionMap undertowOptions, java.lang.String fallbackProtocol, DelegateOpenListener fallbackListener)
-
-
Method Detail
-
getRootHandler
public HttpHandler getRootHandler()
- Specified by:
getRootHandlerin interfaceOpenListener- Returns:
- The first handler that will be executed by requests on the connector
-
setRootHandler
public void setRootHandler(HttpHandler rootHandler)
Description copied from interface:OpenListenerSets the root handler- Specified by:
setRootHandlerin interfaceOpenListener- Parameters:
rootHandler- The new root handler
-
getUndertowOptions
public org.xnio.OptionMap getUndertowOptions()
- Specified by:
getUndertowOptionsin interfaceOpenListener- Returns:
- The connector options
-
setUndertowOptions
public void setUndertowOptions(org.xnio.OptionMap undertowOptions)
- Specified by:
setUndertowOptionsin interfaceOpenListener- Parameters:
undertowOptions- The connector options
-
getBufferPool
public ByteBufferPool getBufferPool()
- Specified by:
getBufferPoolin interfaceOpenListener- Returns:
- The buffer pool in use by this connector
-
getConnectorStatistics
public ConnectorStatistics getConnectorStatistics()
- Specified by:
getConnectorStatisticsin interfaceOpenListener- Returns:
- The connector statistics, or null if statistics gathering is disabled.
-
closeConnections
public void closeConnections()
Description copied from interface:OpenListenerClose all active connections that were handled by this listener- Specified by:
closeConnectionsin interfaceOpenListener
-
addProtocol
public AlpnOpenListener addProtocol(java.lang.String name, DelegateOpenListener listener, int weight)
-
handleEvent
public void handleEvent(org.xnio.StreamConnection channel)
- Specified by:
handleEventin interfaceorg.xnio.ChannelListener<org.xnio.StreamConnection>
-
engineSupportsHTTP2
public static boolean engineSupportsHTTP2(javax.net.ssl.SSLEngine engine)
-
-