14
14
package org .asynchttpclient .netty .timeout ;
15
15
16
16
import static org .asynchttpclient .util .DateUtils .millisTime ;
17
+
18
+ import io .netty .handler .codec .http .HttpRequest ;
17
19
import io .netty .util .Timeout ;
18
20
19
21
import org .asynchttpclient .netty .NettyResponseFuture ;
@@ -23,15 +25,27 @@ public class ReadTimeoutTimerTask extends TimeoutTimerTask {
23
25
24
26
private final long readTimeout ;
25
27
private final long requestTimeoutInstant ;
28
+ private final HttpRequest httpRequest ;
26
29
27
30
public ReadTimeoutTimerTask (//
28
31
NettyResponseFuture <?> nettyResponseFuture ,//
29
32
NettyRequestSender requestSender ,//
30
33
TimeoutsHolder timeoutsHolder ,//
31
34
long requestTimeout ,//
32
35
long readTimeout ) {
36
+ this (nettyResponseFuture , requestSender , timeoutsHolder , requestTimeout , readTimeout , null );
37
+ }
38
+
39
+ public ReadTimeoutTimerTask (//
40
+ NettyResponseFuture <?> nettyResponseFuture ,//
41
+ NettyRequestSender requestSender ,//
42
+ TimeoutsHolder timeoutsHolder ,//
43
+ long requestTimeout ,//
44
+ long readTimeout ,//
45
+ HttpRequest httpRequest ) {
33
46
super (nettyResponseFuture , requestSender , timeoutsHolder );
34
47
this .readTimeout = readTimeout ;
48
+ this .httpRequest = httpRequest ;
35
49
requestTimeoutInstant = requestTimeout >= 0 ? nettyResponseFuture .getStart () + requestTimeout : Long .MAX_VALUE ;
36
50
}
37
51
@@ -52,7 +66,12 @@ public void run(Timeout timeout) throws Exception {
52
66
53
67
if (durationBeforeCurrentReadTimeout <= 0L ) {
54
68
// idleConnectTimeout reached
55
- String message = "Read timeout to " + remoteAddress + " of " + readTimeout + " ms" ;
69
+ String message ;
70
+ if (httpRequest == null ) {
71
+ message = "Read timeout to " + remoteAddress + " of " + readTimeout + " ms" ;
72
+ } else {
73
+ message = "Read timeout to " + httpRequest .getUri () + " of " + readTimeout + " ms" ;
74
+ }
56
75
long durationSinceLastTouch = now - nettyResponseFuture .getLastTouch ();
57
76
expire (message , durationSinceLastTouch );
58
77
// cancel request timeout sibling
0 commit comments