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
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
org.eclipse.jetty.util.component.Dumpable.DumpableContainer
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
org.eclipse.jetty.util.component.LifeCycle.Listener
-
Field Summary
FieldsFields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING
Fields inherited from interface org.eclipse.jetty.util.component.Dumpable
KEY
-
Constructor Summary
ConstructorsConstructorDescriptionHTTP2CServerConnectionFactory
(org.eclipse.jetty.server.HttpConfiguration httpConfiguration) HTTP2CServerConnectionFactory
(org.eclipse.jetty.server.HttpConfiguration httpConfiguration, String... protocols) -
Method Summary
Modifier and TypeMethodDescriptionboolean
isAcceptable
(String protocol, String tlsProtocol, 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
Methods inherited from interface org.eclipse.jetty.server.ConnectionFactory
getProtocol, getProtocols, newConnection
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable
dumpSelf
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
-
Field Details
-
LOG
private static final org.eclipse.jetty.util.log.Logger LOG
-
-
Constructor Details
-
HTTP2CServerConnectionFactory
public HTTP2CServerConnectionFactory(@Name("config") org.eclipse.jetty.server.HttpConfiguration httpConfiguration) -
HTTP2CServerConnectionFactory
public HTTP2CServerConnectionFactory(@Name("config") org.eclipse.jetty.server.HttpConfiguration httpConfiguration, @Name("protocols") String... protocols)
-
-
Method Details
-
isAcceptable
- 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
-