diff --git a/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Session.java b/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Session.java index 3af9e9098d9..da544c6ee8b 100644 --- a/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Session.java +++ b/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Session.java @@ -320,9 +320,7 @@ public abstract class HTTP2Session extends ContainerLifeCycle implements ISessio } case SettingsFrame.MAX_HEADER_LIST_SIZE: { - // TODO implement - if (LOG.isDebugEnabled()) - LOG.debug("NOT IMPLEMENTED max header list size to {}", value); + // Allow HTTP2SErverSessionListener to handle break; } default: diff --git a/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HTTP2ServerConnectionFactory.java b/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HTTP2ServerConnectionFactory.java index 42b63f6ec9a..9323fca16c7 100644 --- a/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HTTP2ServerConnectionFactory.java +++ b/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HTTP2ServerConnectionFactory.java @@ -96,9 +96,19 @@ public class HTTP2ServerConnectionFactory extends AbstractHTTP2ServerConnectionF int maxConcurrentStreams = getMaxConcurrentStreams(); if (maxConcurrentStreams >= 0) settings.put(SettingsFrame.MAX_CONCURRENT_STREAMS, maxConcurrentStreams); + settings.put(SettingsFrame.MAX_HEADER_LIST_SIZE,getHttpConfiguration().getRequestHeaderSize()); return settings; } + @Override + public void onSettings(Session session, SettingsFrame frame) + { + super.onSettings(session,frame); + Integer mhls = frame.getSettings().get(SettingsFrame.MAX_HEADER_LIST_SIZE); + if (mhls != null && mhls.intValue()