Files
javademos/http3/src/OptIn.java
T

23 lines
976 B
Java

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();
}
}