diff --git a/reactor-netty-http/src/main/java/reactor/netty/http/server/HttpServerConfig.java b/reactor-netty-http/src/main/java/reactor/netty/http/server/HttpServerConfig.java index e6a0a3ccb..5d6a8f89a 100644 --- a/reactor-netty-http/src/main/java/reactor/netty/http/server/HttpServerConfig.java +++ b/reactor-netty-http/src/main/java/reactor/netty/http/server/HttpServerConfig.java @@ -1618,7 +1618,7 @@ final class RequestTimeoutTask implements Runnable { @SuppressWarnings("FutureReturnValueIgnored") public void run() { if (!requestAvailable) { - ctx.fireExceptionCaught(RequestTimeoutException.INSTANCE); + ctx.fireExceptionCaught(RequestTimeoutException.requestTimedOut()); //"FutureReturnValueIgnored" this is deliberate ctx.close(); } diff --git a/reactor-netty-http/src/main/java/reactor/netty/http/server/HttpServerOperations.java b/reactor-netty-http/src/main/java/reactor/netty/http/server/HttpServerOperations.java index 72cc473d5..853ee6486 100644 --- a/reactor-netty-http/src/main/java/reactor/netty/http/server/HttpServerOperations.java +++ b/reactor-netty-http/src/main/java/reactor/netty/http/server/HttpServerOperations.java @@ -1341,7 +1341,7 @@ final class RequestTimeoutTask implements Runnable { @SuppressWarnings("FutureReturnValueIgnored") public void run() { if (ctx.channel().isActive() && !(isInboundCancelled() || isInboundDisposed())) { - onInboundError(RequestTimeoutException.INSTANCE); + onInboundError(RequestTimeoutException.requestTimedOut()); //"FutureReturnValueIgnored" this is deliberate ctx.close(); } diff --git a/reactor-netty-http/src/main/java/reactor/netty/http/server/RequestTimeoutException.java b/reactor-netty-http/src/main/java/reactor/netty/http/server/RequestTimeoutException.java index 46865d4e5..96b767ab5 100644 --- a/reactor-netty-http/src/main/java/reactor/netty/http/server/RequestTimeoutException.java +++ b/reactor-netty-http/src/main/java/reactor/netty/http/server/RequestTimeoutException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 VMware, Inc. or its affiliates, All Rights Reserved. + * Copyright (c) 2023-2024 VMware, Inc. or its affiliates, All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,17 +18,20 @@ import io.netty.channel.ChannelException; final class RequestTimeoutException extends ChannelException { - - static final RequestTimeoutException INSTANCE = new RequestTimeoutException(); + static final String REQUEST_TIMED_OUT = "Request timed out"; private static final long serialVersionUID = 422626851161276356L; - RequestTimeoutException() { - super(null, null, true); + RequestTimeoutException(String message) { + super(message); } @Override public synchronized Throwable fillInStackTrace() { return this; } + + static RequestTimeoutException requestTimedOut() { + return new RequestTimeoutException(REQUEST_TIMED_OUT); + } }