Steps to reproduce
./add-user.sh -a -u test -p test -g testUserRole
import java.net.Authenticator; import java.net.PasswordAuthentication; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpClient.Version; import java.net.http.HttpRequest; public class TestHttp2Client { public static void main(String[] args) throws Throwable { System.setProperty("jdk.httpclient.HttpClient.log","all"); Authenticator auth = new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("test","test".toCharArray()); } }; HttpRequest rq = HttpRequest.newBuilder(new URI("http://localhost:8080/helloworld/index.jsp")).GET().build(); HttpClient client = HttpClient.newBuilder().version(Version.HTTP_2).authenticator(auth).build(); HttpResponse<String> response = client.send(rq, BodyHandlers.ofString()); System.out.println(response); } }
Compile and run the class with JDK-11:
javac TestHttp2Client.java java javac TestHttp2Client.java
ERROR: java.io.IOException: /127.0.0.1:53984: GOAWAY received at java.net.http/jdk.internal.net.http.Http2Connection.handleGoAway(Http2Connection.java:985) at java.net.http/jdk.internal.net.http.Http2Connection.handleConnectionFrame(Http2Connection.java:853) at java.net.http/jdk.internal.net.http.Http2Connection.processFrame(Http2Connection.java:724) at java.net.http/jdk.internal.net.http.frame.FramesDecoder.decode(FramesDecoder.java:155) at java.net.http/jdk.internal.net.http.Http2Connection$FramesController.processReceivedData(Http2Connection.java:232) at java.net.http/jdk.internal.net.http.Http2Connection.asyncReceive(Http2Connection.java:649) at java.net.http/jdk.internal.net.http.Http2Connection$Http2TubeSubscriber.processQueue(Http2Connection.java:1275) at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SynchronizedRestartableTask.run(SequentialScheduler.java:175) at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:147) at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:198) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834)