Skip to content

Commit 56b7228

Browse files
author
Stephane Landelle
committed
Add remote channel ip address to read timeout exception, port AsyncHttpClient#538 on master
1 parent f96bcbb commit 56b7228

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

providers/netty/src/main/java/org/asynchttpclient/providers/netty/future/NettyResponseFuture.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import io.netty.handler.codec.http.HttpHeaders;
3535
import io.netty.handler.codec.http.HttpResponse;
3636

37+
import java.net.SocketAddress;
3738
import java.net.URI;
3839
import java.util.concurrent.CancellationException;
3940
import java.util.concurrent.CountDownLatch;
@@ -468,6 +469,10 @@ public boolean canRetry() {
468469
return true;
469470
}
470471

472+
public SocketAddress getChannelRemoteAddress() {
473+
return channel() != null? channel().remoteAddress(): null;
474+
}
475+
471476
public void setRequest(Request request) {
472477
this.request = request;
473478
}

providers/netty/src/main/java/org/asynchttpclient/providers/netty/request/timeout/RequestTimeoutTimerTask.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,9 @@ public void run(Timeout timeout) throws Exception {
4545
}
4646

4747
if (!nettyResponseFuture.isDone() && !nettyResponseFuture.isCancelled()) {
48-
expire("Request timeout of " + nettyResponseFuture.getRequestTimeoutInMs() + " ms",
49-
millisTime() - nettyResponseFuture.getStart());
48+
long age = millisTime() - nettyResponseFuture.getStart();
49+
expire("Request timed out to " + nettyResponseFuture.getChannelRemoteAddress() + " of "
50+
+ nettyResponseFuture.getRequestTimeoutInMs() + " ms after " + age + " ms", age);
5051
nettyResponseFuture.setRequestTimeoutReached();
5152
}
5253
}

providers/netty/src/test/java/org/asynchttpclient/providers/netty/NettyPerRequestTimeoutTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ public class NettyPerRequestTimeoutTest extends PerRequestTimeoutTest {
2222

2323
@Override
2424
protected void checkTimeoutMessage(String message) {
25-
assertTrue(message.equals("Request timeout of 100 ms"));
25+
assertTrue(message.startsWith("Request timed out"), "error message indicates reason of error");
26+
assertTrue(message.contains("127.0.0.1"), "error message contains remote ip address");
27+
assertTrue(message.contains("of 100 ms"), "error message contains timeout configuration value");
2628
}
2729

2830
@Override

0 commit comments

Comments
 (0)