-
Bug
-
Resolution: Unresolved
-
P4
-
25
If configured with a sufficiently big timeout, HttpClient will throw an exception when sending a request. For instance,
// var SUFFICIENTLY_BIG_DURATION = Duration.ofSeconds(Long.MAX_VALUE, 999_999_999); // (1)
// var SUFFICIENTLY_BIG_DURATION = Duration.between(Instant.now(), Instant.MAX); // (2)
var SUFFICIENTLY_BIG_DURATION = Duration.ofMillis(Long.MAX_VALUE); // (3)
try (var client = HttpClient.newBuilder()
.followRedirects(HttpClient.Redirect.ALWAYS)
.connectTimeout(SUFFICIENTLY_BIG_DURATION)
.build()) {
var request = HttpRequest.newBuilder(URI.create("https://dev.java"))
.header("Accept", "text/html")
.GET()
.build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
Note that (2) and (3) result in a stacktrace which differs from that of (1).
// var SUFFICIENTLY_BIG_DURATION = Duration.ofSeconds(Long.MAX_VALUE, 999_999_999); // (1)
// var SUFFICIENTLY_BIG_DURATION = Duration.between(Instant.now(), Instant.MAX); // (2)
var SUFFICIENTLY_BIG_DURATION = Duration.ofMillis(Long.MAX_VALUE); // (3)
try (var client = HttpClient.newBuilder()
.followRedirects(HttpClient.Redirect.ALWAYS)
.connectTimeout(SUFFICIENTLY_BIG_DURATION)
.build()) {
var request = HttpRequest.newBuilder(URI.create("https://dev.java"))
.header("Accept", "text/html")
.GET()
.build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
Note that (2) and (3) result in a stacktrace which differs from that of (1).
- links to
-
Review(master)
openjdk/jdk/27973