test/jdk/java/net/httpclient/security/Security.java
branchhttp-client-branch
changeset 55763 634d8e14c172
parent 47216 71c04702a3d5
child 55764 34d7cc00f87a
--- a/test/jdk/java/net/httpclient/security/Security.java	Sun Nov 05 17:05:57 2017 +0000
+++ b/test/jdk/java/net/httpclient/security/Security.java	Sun Nov 05 17:32:13 2017 +0000
@@ -82,7 +82,6 @@
 import java.util.concurrent.CompletionException;
 import java.util.concurrent.CompletionStage;
 import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Executor;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Flow;
@@ -297,15 +296,15 @@
                 CompletableFuture<HttpResponse<String>> cf =
                     client.sendAsync(request, new HttpResponse.BodyHandler<String>() {
                         @Override
-                        public HttpResponse.BodyProcessor<String> apply(int status, HttpHeaders responseHeaders)  {
-                            final HttpResponse.BodyProcessor<String> stproc = sth.apply(status, responseHeaders);
-                            return new HttpResponse.BodyProcessor<String>() {
+                        public HttpResponse.BodySubscriber<String> apply(int status, HttpHeaders responseHeaders)  {
+                            final HttpResponse.BodySubscriber<String> stproc = sth.apply(status, responseHeaders);
+                            return new HttpResponse.BodySubscriber<String>() {
                                 @Override
                                 public CompletionStage<String> getBody() {
                                     return stproc.getBody();
                                 }
                                 @Override
-                                public void onNext(ByteBuffer item) {
+                                public void onNext(List<ByteBuffer> item) {
                                     SecurityManager sm = System.getSecurityManager();
                                     // should succeed.
                                     sm.checkPermission(new RuntimePermission("foobar"));
@@ -337,6 +336,9 @@
                     Throwable t = e.getCause();
                     if (t instanceof SecurityException)
                         throw (SecurityException)t;
+                    else if ((t instanceof IOException)
+                              && (t.getCause() instanceof SecurityException))
+                        throw ((SecurityException)t.getCause());
                     else
                         throw new RuntimeException(t);
                 }
@@ -419,12 +421,6 @@
         } finally {
             s1.stop(0);
             executor.shutdownNow();
-            for (HttpClient client : clients) {
-                Executor e = client.executor();
-                if (e instanceof ExecutorService) {
-                    ((ExecutorService)e).shutdownNow();
-                }
-            }
         }
     }