# HG changeset patch # User robcast # Date 1446816656 -3600 # Node ID dcf933a2bd7e910acfbbee252ea4230870b41504 # Parent cc4e46818377a45709e8bad3d821822e293b8238 more discarding. diff -r cc4e46818377 -r dcf933a2bd7e servlet/src/main/java/digilib/servlet/ServletOps.java --- a/servlet/src/main/java/digilib/servlet/ServletOps.java Thu Nov 05 20:19:38 2015 +0100 +++ b/servlet/src/main/java/digilib/servlet/ServletOps.java Fri Nov 06 14:30:56 2015 +0100 @@ -301,7 +301,9 @@ } /** - * Write image img to ServletResponse response. + * Write image img to ServletResponse response as data of mimeType. + * + * If mimeType is null, use heuristics for type. * * @param img * @param mimeType @@ -317,12 +319,11 @@ logger.error("No response!"); return; } - //logger.debug("sending to response: ("+ headersToString(response) + ") committed=" + response.isCommitted()); logger.debug("sending to response. committed=" + response.isCommitted()); try { /* - * determine content-type: if mime type is set use that otherwise - * if source is JPG then dest will be JPG else it's PNG + * determine the content-type: if mime type is set use that + * otherwise if source is JPG then dest will be JPG else it's PNG */ if (mimeType == null) { mimeType = img.getMimetype(); @@ -343,20 +344,23 @@ String respType = response.getContentType(); if (! mimeType.equals(respType)) { // this shouldn't happen - logger.error("Crap! ServletResponse lost content type! ct="+respType); - // TODO: would this help? + logger.error("Crap! ServletResponse lost content type! ["+respType+"] Aborting!"); + // TODO: would this even help? response.getOutputStream().close(); return; } + /* * write the image */ OutputStream outstream = response.getOutputStream(); img.writeImage(mimeType, outstream); + } catch (IOException e) { throw new ServletException("Error sending image:", e); - } - // TODO: should we: finally { img.dispose(); } + } finally { + img.dispose(); + } }