Set NO_REQUEST_TIMEOUT as a server option not a socket option

See gh-15822
pull/15943/head
ayudovin 6 years ago committed by Andy Wilkinson
parent 93a6dfd79b
commit dbce3731a4

@ -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()));
}

@ -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