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.HTTPServerSessionListenerNested classes/interfaces inherited from class org.eclipse.jetty.http2.server.AbstractHTTP2ServerConnectionFactory
AbstractHTTP2ServerConnectionFactory.HTTP2SessionContainerNested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListenerNested classes/interfaces inherited from interface org.eclipse.jetty.server.ConnectionFactory
org.eclipse.jetty.server.ConnectionFactory.Detecting, org.eclipse.jetty.server.ConnectionFactory.UpgradingNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
org.eclipse.jetty.util.component.Container.InheritedListener, org.eclipse.jetty.util.component.Container.ListenerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
org.eclipse.jetty.util.component.Dumpable.DumpableContainerNested 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, STOPPINGFields 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 TypeMethodDescriptionbooleanisAcceptable(String protocol, String tlsProtocol, String tlsCipher) org.eclipse.jetty.io.ConnectionupgradeConnection(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
newSessionListenerMethods 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, setStreamIdleTimeoutMethods inherited from class org.eclipse.jetty.server.AbstractConnectionFactory
configure, findNextProtocol, findNextProtocol, getFactories, getInputBufferSize, getProtocol, getProtocols, setInputBufferSize, toStringMethods 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, updateBeansMethods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.jetty.server.ConnectionFactory
getProtocol, getProtocols, newConnectionMethods inherited from interface org.eclipse.jetty.util.component.Dumpable
dumpSelfMethods 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:
isAcceptablein interfaceorg.eclipse.jetty.server.NegotiatingServerConnection.CipherDiscriminator- Overrides:
isAcceptablein 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:
upgradeConnectionin interfaceorg.eclipse.jetty.server.ConnectionFactory.Upgrading- Throws:
org.eclipse.jetty.http.BadMessageException
-