Merge branch '2.7.x'
Closes gh-31330
This commit is contained in:
@@ -280,6 +280,11 @@ public class TomcatWebServerFactoryCustomizer
|
||||
if (handler instanceof AbstractHttp11Protocol) {
|
||||
AbstractHttp11Protocol protocol = (AbstractHttp11Protocol) handler;
|
||||
protocol.setMaxHttpHeaderSize(maxHttpHeaderSize);
|
||||
for (UpgradeProtocol upgradeProtocol : protocol.findUpgradeProtocols()) {
|
||||
if (upgradeProtocol instanceof Http2Protocol) {
|
||||
((Http2Protocol) upgradeProtocol).setMaxHeaderSize(maxHttpHeaderSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -182,6 +182,19 @@ class TomcatWebServerFactoryCustomizerTests {
|
||||
.getMaxHttpHeaderSize()).isEqualTo(DataSize.ofKilobytes(1).toBytes()));
|
||||
}
|
||||
|
||||
@Test
|
||||
void customMaxHttpHeaderSizeWithHttp2() {
|
||||
bind("server.max-http-header-size=1KB", "server.http2.enabled=true");
|
||||
customizeAndRunServer((server) -> {
|
||||
AbstractHttp11Protocol<?> protocolHandler = (AbstractHttp11Protocol<?>) server.getTomcat().getConnector()
|
||||
.getProtocolHandler();
|
||||
long expectedSize = DataSize.ofKilobytes(1).toBytes();
|
||||
assertThat(protocolHandler.getMaxHttpHeaderSize()).isEqualTo(expectedSize);
|
||||
assertThat(((Http2Protocol) protocolHandler.getUpgradeProtocol("h2c")).getMaxHeaderSize())
|
||||
.isEqualTo(expectedSize);
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void customMaxHttpHeaderSizeIgnoredIfNegative() {
|
||||
bind("server.max-http-header-size=-1");
|
||||
|
||||
Reference in New Issue
Block a user