Merge pull request #15822 from Artsiom Yudovin

* gh-15822:
  Polish "Set NO_REQUEST_TIMEOUT as a server option not a socket option"
  Set NO_REQUEST_TIMEOUT as a server option not a socket option
pull/15943/head
Andy Wilkinson 6 years ago
commit 08ce814853

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* Copyright 2012-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -37,6 +37,7 @@ import org.springframework.util.unit.DataSize;
* @author Yulin Qin
* @author Stephane Nicoll
* @author Phillip Webb
* @author Arstiom Yudovin
* @since 2.0.0
*/
public class UndertowWebServerFactoryCustomizer implements
@ -106,7 +107,7 @@ public class UndertowWebServerFactoryCustomizer implements
private void customizeConnectionTimeout(ConfigurableUndertowWebServerFactory factory,
Duration connectionTimeout) {
factory.addBuilderCustomizers((builder) -> builder.setSocketOption(
factory.addBuilderCustomizers((builder) -> builder.setServerOption(
UndertowOptions.NO_REQUEST_TIMEOUT, (int) connectionTimeout.toMillis()));
}

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* Copyright 2012-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -47,6 +47,7 @@ import static org.mockito.Mockito.verify;
*
* @author Brian Clozel
* @author Phillip Webb
* @author Artsiom Yudovin
*/
public class UndertowWebServerFactoryCustomizerTests {
@ -143,6 +144,18 @@ public class UndertowWebServerFactoryCustomizerTests {
assertThat(map.contains(UndertowOptions.MAX_HEADER_SIZE)).isFalse();
}
@Test
public void customConnectionTimeout() {
bind("server.connection-timeout=100");
Builder builder = Undertow.builder();
ConfigurableUndertowWebServerFactory factory = mockFactory(builder);
this.customizer.customize(factory);
OptionMap map = ((OptionMap.Builder) ReflectionTestUtils.getField(builder,
"serverOptions")).getMap();
assertThat(map.contains(UndertowOptions.NO_REQUEST_TIMEOUT)).isTrue();
assertThat(map.get(UndertowOptions.NO_REQUEST_TIMEOUT)).isEqualTo(100);
}
private ConfigurableUndertowWebServerFactory mockFactory(Builder builder) {
ConfigurableUndertowWebServerFactory factory = mock(
ConfigurableUndertowWebServerFactory.class);

Loading…
Cancel
Save