diff --git a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/util/InputStreamResponseListener.java b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/util/InputStreamResponseListener.java index 433e9ff6008..6cf26eb7bb3 100644 --- a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/util/InputStreamResponseListener.java +++ b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/util/InputStreamResponseListener.java @@ -256,7 +256,9 @@ public class InputStreamResponseListener extends Listener.Adapter InputStream result = new Input(); if (stream.compareAndSet(null, result)) return result; - return IO.getClosedStream(); + result = InputStream.nullInputStream(); + IO.close(result); + return result; } private List drain() diff --git a/jetty-core/jetty-http/src/test/java/org/eclipse/jetty/http/MultiPartCaptureTest.java b/jetty-core/jetty-http/src/test/java/org/eclipse/jetty/http/MultiPartCaptureTest.java index 114ec437142..146bb555c4f 100644 --- a/jetty-core/jetty-http/src/test/java/org/eclipse/jetty/http/MultiPartCaptureTest.java +++ b/jetty-core/jetty-http/src/test/java/org/eclipse/jetty/http/MultiPartCaptureTest.java @@ -16,6 +16,7 @@ package org.eclipse.jetty.http; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; +import java.io.OutputStream; import java.nio.ByteBuffer; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; @@ -277,7 +278,7 @@ public class MultiPartCaptureTest MessageDigest digest = MessageDigest.getInstance("SHA1"); assertTrue(part.getContent().rewind()); try (InputStream partInputStream = Content.Source.asInputStream(part.getContent()); - DigestOutputStream digester = new DigestOutputStream(IO.getNullStream(), digest)) + DigestOutputStream digester = new DigestOutputStream(OutputStream.nullOutputStream(), digest)) { IO.copy(partInputStream, digester); String actualSha1sum = Hex.asHex(digest.digest()).toLowerCase(Locale.US); diff --git a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/IO.java b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/IO.java index 68390134917..6513c9d507f 100644 --- a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/IO.java +++ b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/IO.java @@ -559,120 +559,6 @@ public class IO return total; } - - /** - * @return An outputstream to nowhere - */ - public static OutputStream getNullStream() - { - return __nullStream; - } - - /** - * @return An outputstream to nowhere - */ - public static InputStream getClosedStream() - { - return __closedStream; - } - - private static class NullOS extends OutputStream - { - @Override - public void close() - { - } - - @Override - public void flush() - { - } - - @Override - public void write(byte[] b) - { - } - - @Override - public void write(byte[] b, int i, int l) - { - } - - @Override - public void write(int b) - { - } - } - - private static NullOS __nullStream = new NullOS(); - - private static class ClosedIS extends InputStream - { - @Override - public int read() throws IOException - { - return -1; - } - } - - private static ClosedIS __closedStream = new ClosedIS(); - - /** - * @return An writer to nowhere - */ - public static Writer getNullWriter() - { - return __nullWriter; - } - - /** - * @return An writer to nowhere - */ - public static PrintWriter getNullPrintWriter() - { - return __nullPrintWriter; - } - - private static class NullWrite extends Writer - { - @Override - public void close() - { - } - - @Override - public void flush() - { - } - - @Override - public void write(char[] b) - { - } - - @Override - public void write(char[] b, int o, int l) - { - } - - @Override - public void write(int b) - { - } - - @Override - public void write(String s) - { - } - - @Override - public void write(String s, int o, int l) - { - } - } - - private static NullWrite __nullWriter = new NullWrite(); - private static PrintWriter __nullPrintWriter = new PrintWriter(__nullWriter); } diff --git a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/AsyncMiddleManServletTest.java b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/AsyncMiddleManServletTest.java index 9f270f235b0..d07ec1673b7 100644 --- a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/AsyncMiddleManServletTest.java +++ b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/AsyncMiddleManServletTest.java @@ -963,7 +963,7 @@ public class AsyncMiddleManServletTest { // Consume the stream once. InputStream input = source.getInputStream(); - IO.copy(input, IO.getNullStream()); + IO.copy(input, OutputStream.nullOutputStream()); // Reset the stream and re-read it. input.reset(); @@ -1116,7 +1116,7 @@ public class AsyncMiddleManServletTest @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException { - IO.copy(request.getInputStream(), IO.getNullStream()); + IO.copy(request.getInputStream(), OutputStream.nullOutputStream()); } }); CountDownLatch destroyLatch = new CountDownLatch(1); diff --git a/jetty-ee9/jetty-ee9-proxy/src/test/java/org/eclipse/jetty/ee9/proxy/AsyncMiddleManServletTest.java b/jetty-ee9/jetty-ee9-proxy/src/test/java/org/eclipse/jetty/ee9/proxy/AsyncMiddleManServletTest.java index ae2cf713455..e888e8377a5 100644 --- a/jetty-ee9/jetty-ee9-proxy/src/test/java/org/eclipse/jetty/ee9/proxy/AsyncMiddleManServletTest.java +++ b/jetty-ee9/jetty-ee9-proxy/src/test/java/org/eclipse/jetty/ee9/proxy/AsyncMiddleManServletTest.java @@ -963,7 +963,7 @@ public class AsyncMiddleManServletTest { // Consume the stream once. InputStream input = source.getInputStream(); - IO.copy(input, IO.getNullStream()); + IO.copy(input, OutputStream.nullOutputStream()); // Reset the stream and re-read it. input.reset(); @@ -1116,7 +1116,7 @@ public class AsyncMiddleManServletTest @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException { - IO.copy(request.getInputStream(), IO.getNullStream()); + IO.copy(request.getInputStream(), OutputStream.nullOutputStream()); } }); CountDownLatch destroyLatch = new CountDownLatch(1); diff --git a/jetty-ee9/jetty-ee9-security/src/main/java/org/eclipse/jetty/ee9/security/authentication/DeferredAuthentication.java b/jetty-ee9/jetty-ee9-security/src/main/java/org/eclipse/jetty/ee9/security/authentication/DeferredAuthentication.java index a8f1e5d65da..a965bccd707 100644 --- a/jetty-ee9/jetty-ee9-security/src/main/java/org/eclipse/jetty/ee9/security/authentication/DeferredAuthentication.java +++ b/jetty-ee9/jetty-ee9-security/src/main/java/org/eclipse/jetty/ee9/security/authentication/DeferredAuthentication.java @@ -15,6 +15,7 @@ package org.eclipse.jetty.ee9.security.authentication; import java.io.IOException; import java.io.PrintWriter; +import java.io.Writer; import java.util.Collection; import java.util.Collections; import java.util.Locale; @@ -33,7 +34,6 @@ import org.eclipse.jetty.ee9.security.LoginService; import org.eclipse.jetty.ee9.security.SecurityHandler; import org.eclipse.jetty.ee9.security.ServerAuthException; import org.eclipse.jetty.ee9.security.UserAuthentication; -import org.eclipse.jetty.util.IO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -274,7 +274,7 @@ public class DeferredAuthentication implements Authentication.Deferred @Override public PrintWriter getWriter() throws IOException { - return IO.getNullPrintWriter(); + return new PrintWriter(Writer.nullWriter()); } @Override