Package org.eclipse.jetty.http2.server
Class HTTP2CServerConnectionFactory
- java.lang.Object
-
- org.eclipse.jetty.util.component.AbstractLifeCycle
-
- org.eclipse.jetty.util.component.ContainerLifeCycle
-
- org.eclipse.jetty.server.AbstractConnectionFactory
-
- org.eclipse.jetty.http2.server.AbstractHTTP2ServerConnectionFactory
-
- org.eclipse.jetty.http2.server.HTTP2ServerConnectionFactory
-
- org.eclipse.jetty.http2.server.HTTP2CServerConnectionFactory
-
- All Implemented Interfaces:
org.eclipse.jetty.server.ConnectionFactory
,org.eclipse.jetty.server.ConnectionFactory.Upgrading
,org.eclipse.jetty.server.NegotiatingServerConnection.CipherDiscriminator
,org.eclipse.jetty.util.component.Container
,org.eclipse.jetty.util.component.Destroyable
,org.eclipse.jetty.util.component.Dumpable
,org.eclipse.jetty.util.component.Dumpable.DumpableContainer
,org.eclipse.jetty.util.component.LifeCycle
public class HTTP2CServerConnectionFactory extends HTTP2ServerConnectionFactory implements org.eclipse.jetty.server.ConnectionFactory.Upgrading
HTTP2 Clear Text Connection factory.This extension of HTTP2ServerConnection Factory sets the protocol name to "h2c" as used by the clear text upgrade mechanism for HTTP2 and marks all TLS ciphers as unacceptable.
If used in combination with a
HttpConnectionFactory
as the default protocol, this factory can support the non-standard direct update mechanism, where an HTTP1 request of the form "PRI * HTTP/2.0" is used to trigger a switch to an HTTP2 connection. This approach allows a single port to accept either HTTP/1 or HTTP/2 direct connections.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jetty.http2.server.HTTP2ServerConnectionFactory
HTTP2ServerConnectionFactory.HTTPServerSessionListener
-
Nested classes/interfaces inherited from class org.eclipse.jetty.http2.server.AbstractHTTP2ServerConnectionFactory
AbstractHTTP2ServerConnectionFactory.HTTP2SessionContainer
-
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.server.ConnectionFactory
org.eclipse.jetty.server.ConnectionFactory.Detecting, org.eclipse.jetty.server.ConnectionFactory.Upgrading
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
org.eclipse.jetty.util.component.Container.InheritedListener, org.eclipse.jetty.util.component.Container.Listener
-
-
Field Summary
Fields Modifier and Type Field Description private static org.eclipse.jetty.util.log.Logger
LOG
-
Constructor Summary
Constructors Constructor Description HTTP2CServerConnectionFactory(org.eclipse.jetty.server.HttpConfiguration httpConfiguration)
HTTP2CServerConnectionFactory(org.eclipse.jetty.server.HttpConfiguration httpConfiguration, java.lang.String... protocols)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isAcceptable(java.lang.String protocol, java.lang.String tlsProtocol, java.lang.String tlsCipher)
org.eclipse.jetty.io.Connection
upgradeConnection(org.eclipse.jetty.server.Connector connector, org.eclipse.jetty.io.EndPoint endPoint, org.eclipse.jetty.http.MetaData.Request request, org.eclipse.jetty.http.HttpFields response101)
-
Methods inherited from class org.eclipse.jetty.http2.server.HTTP2ServerConnectionFactory
newSessionListener
-
Methods inherited from class org.eclipse.jetty.http2.server.AbstractHTTP2ServerConnectionFactory
getFlowControlStrategyFactory, getHttpConfiguration, getInitialSessionRecvWindow, getInitialStreamRecvWindow, getMaxConcurrentStreams, getMaxDecoderTableCapacity, getMaxDynamicTableSize, getMaxEncoderTableCapacity, getMaxFrameLength, getMaxFrameSize, getMaxHeaderBlockFragment, getMaxSettingsKeys, getRateControl, getRateControlFactory, getReservedThreads, getStreamIdleTimeout, newConnection, newServerParser, newServerParser, newSettings, setFlowControlStrategyFactory, setInitialSessionRecvWindow, setInitialStreamRecvWindow, setMaxConcurrentStreams, setMaxDecoderTableCapacity, setMaxDynamicTableSize, setMaxEncoderTableCapacity, setMaxFrameLength, setMaxFrameSize, setMaxHeaderBlockFragment, setMaxSettingsKeys, setRateControl, setRateControlFactory, setReservedThreads, setStreamIdleTimeout
-
Methods inherited from class org.eclipse.jetty.server.AbstractConnectionFactory
configure, findNextProtocol, findNextProtocol, getFactories, getInputBufferSize, getProtocol, getProtocols, setInputBufferSize, toString
-
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, doStart, doStop, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans
-
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Constructor Detail
-
HTTP2CServerConnectionFactory
public HTTP2CServerConnectionFactory(@Name("config") org.eclipse.jetty.server.HttpConfiguration httpConfiguration)
-
HTTP2CServerConnectionFactory
public HTTP2CServerConnectionFactory(@Name("config") org.eclipse.jetty.server.HttpConfiguration httpConfiguration, @Name("protocols") java.lang.String... protocols)
-
-
Method Detail
-
isAcceptable
public boolean isAcceptable(java.lang.String protocol, java.lang.String tlsProtocol, java.lang.String tlsCipher)
- Specified by:
isAcceptable
in interfaceorg.eclipse.jetty.server.NegotiatingServerConnection.CipherDiscriminator
- Overrides:
isAcceptable
in classHTTP2ServerConnectionFactory
-
upgradeConnection
public org.eclipse.jetty.io.Connection upgradeConnection(org.eclipse.jetty.server.Connector connector, org.eclipse.jetty.io.EndPoint endPoint, org.eclipse.jetty.http.MetaData.Request request, org.eclipse.jetty.http.HttpFields response101) throws org.eclipse.jetty.http.BadMessageException
- Specified by:
upgradeConnection
in interfaceorg.eclipse.jetty.server.ConnectionFactory.Upgrading
- Throws:
org.eclipse.jetty.http.BadMessageException
-
-