Add http3 module: HTTP/3 in the Java HTTP Client (JEP 517), opt-in, discovery modes, fallback timings, proxy downgrade and a packet-loss comparison
Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01KqJyCidz3ZgRyHABv2GVJh
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
import java.net.URI;
|
||||
import java.net.http.HttpClient;
|
||||
import java.net.http.HttpRequest;
|
||||
import java.net.http.HttpResponse;
|
||||
|
||||
/** The JEP 517 opt-in, client-wide or per request. Prints the version every response really used. */
|
||||
public class OptIn {
|
||||
public static void main(String[] args) throws Exception {
|
||||
URI uri = URI.create(args[0]);
|
||||
String where = args.length > 1 ? args[1] : "client"; // "client" or "request"
|
||||
var builder = Tls.builder();
|
||||
if (where.equals("client")) builder.version(HttpClient.Version.HTTP_3);
|
||||
var client = builder.build();
|
||||
var req = HttpRequest.newBuilder(uri);
|
||||
if (where.equals("request")) req.version(HttpClient.Version.HTTP_3);
|
||||
for (int i = 1; i <= 4; i++) {
|
||||
var r = client.send(req.build(), HttpResponse.BodyHandlers.ofString());
|
||||
System.out.println(where + "-level HTTP_3, request " + i + ": " + r.version());
|
||||
}
|
||||
client.close();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user