diff --git a/source/net/yacy/http/servlets/YaCyDefaultServlet.java b/source/net/yacy/http/servlets/YaCyDefaultServlet.java index 201ca5016..63c0ddd24 100644 --- a/source/net/yacy/http/servlets/YaCyDefaultServlet.java +++ b/source/net/yacy/http/servlets/YaCyDefaultServlet.java @@ -488,7 +488,6 @@ public class YaCyDefaultServlet extends HttpServlet { // Get the output stream (or writer) OutputStream out; - // boolean written; try { out = response.getOutputStream(); } catch (IllegalStateException e) { @@ -514,6 +513,7 @@ public class YaCyDefaultServlet extends HttpServlet { response.setHeader(HttpHeaders.CONTENT_RANGE, InclusiveByteRange.to416HeaderRangeString(content_length)); resource.writeTo(out, 0, content_length); + out.close(); return; } @@ -528,6 +528,7 @@ public class YaCyDefaultServlet extends HttpServlet { response.setHeader(HttpHeaders.CONTENT_RANGE, singleSatisfiableRange.toHeaderRangeString(content_length)); resource.writeTo(out, singleSatisfiableRange.getFirst(content_length), singleLength); + out.close(); return; } @@ -814,13 +815,10 @@ public class YaCyDefaultServlet extends HttpServlet { final RasterPlotter yp = (RasterPlotter) tmp; // send an image to client result = RasterPlotter.exportImage(yp.getImage(), "png"); - } - if (tmp instanceof EncodedImage) { + } else if (tmp instanceof EncodedImage) { final EncodedImage yp = (EncodedImage) tmp; result = yp.getImage(); - } - - if (tmp instanceof Image) { + } else if (tmp instanceof Image) { final Image i = (Image) tmp; // generate an byte array from the generated image @@ -843,7 +841,7 @@ public class YaCyDefaultServlet extends HttpServlet { response.setStatus(HttpServletResponse.SC_OK); result.writeTo(response.getOutputStream()); - + result.close(); return; } diff --git a/source/net/yacy/server/http/HTTPDemon.java b/source/net/yacy/server/http/HTTPDemon.java index e0e58810a..fc6ec9e98 100644 --- a/source/net/yacy/server/http/HTTPDemon.java +++ b/source/net/yacy/server/http/HTTPDemon.java @@ -104,9 +104,9 @@ public final class HTTPDemon { static Map parseMultipart(final RequestHeader header, final serverObjects args, final InputStream in) throws IOException { final InputStream body = prepareBody(header, in); - final RequestContext request = new yacyContextRequest(header, body); - + body.close(); + // check information if (!FileUploadBase.isMultipartContent(request)) { throw new IOException("the request is not a multipart-message!"); diff --git a/source/net/yacy/server/http/TemplateEngine.java b/source/net/yacy/server/http/TemplateEngine.java index 220a8e9fd..46f3e9923 100644 --- a/source/net/yacy/server/http/TemplateEngine.java +++ b/source/net/yacy/server/http/TemplateEngine.java @@ -384,8 +384,10 @@ public final class TemplateEngine { } else { // inconsistency, simply finalize this FileUtils.copy(pis, out); + pis.close(); final byte[] sb = structure.getBytes(); structure.close(); + keyStream.close(); return sb; }