diff options
Diffstat (limited to 'qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/DefinedFileServlet.java')
-rw-r--r-- | qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/DefinedFileServlet.java | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/DefinedFileServlet.java b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/DefinedFileServlet.java index e6ae47dcff..d8f8e4e4b0 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/DefinedFileServlet.java +++ b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/DefinedFileServlet.java @@ -18,14 +18,16 @@ package org.apache.qpid.server.management.plugin.servlet; import java.io.IOException; import java.io.InputStream; +import java.io.OutputStream; import javax.servlet.ServletConfig; import javax.servlet.ServletException; -import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.qpid.server.management.plugin.HttpManagementUtil; + public class DefinedFileServlet extends HttpServlet { @@ -57,23 +59,25 @@ public class DefinedFileServlet extends HttpServlet @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - final ServletOutputStream output = response.getOutputStream(); - InputStream fileInput = getClass().getResourceAsStream("/resources/"+_filename); - - if(fileInput != null) + try (OutputStream output = HttpManagementUtil.getOutputStream(request, response)) { - byte[] buffer = new byte[1024]; - response.setStatus(HttpServletResponse.SC_OK); - int read = 0; + InputStream fileInput = getClass().getResourceAsStream("/resources/" + _filename); - while((read = fileInput.read(buffer)) > 0) + if (fileInput != null) { - output.write(buffer, 0, read); + byte[] buffer = new byte[1024]; + response.setStatus(HttpServletResponse.SC_OK); + int read = 0; + + while ((read = fileInput.read(buffer)) > 0) + { + output.write(buffer, 0, read); + } + } + else + { + response.sendError(HttpServletResponse.SC_NOT_FOUND, "unknown file: " + _filename); } - } - else - { - response.sendError(HttpServletResponse.SC_NOT_FOUND, "unknown file: "+ _filename); } } } |