public void rewrite(BufferedImage image) throws IOException { if (outputter == null) { return; } long time = System.currentTimeMillis(); rewriteImpl(image); time = System.currentTimeMillis() - time; if (minBytes != null && minBytes.length != 0) { StringBuilder rewriteMsg = new StringBuilder(24); rewriteMsg.append("c=").append( ((minBytes.length * 100) / response.getContentLength())); if (!getOutputContentType().equals(getOriginalContentType())) { rewriteMsg.append(";o=").append(getOriginalContentType()); } rewriteMsg.append(";t=").append(time); response.clearAllHeaders() .setHeader("Content-Type", getOutputContentType()) .setHeader("X-Shindig-Rewrite", rewriteMsg.toString()) .setResponse(minBytes); } }
public BaseOptimizer(OptimizerConfig config, HttpResponseBuilder response) { this.config = config; this.response = response; this.minLength = response.getContentLength(); this.outputter = getOutputter(); }
protected ImageOutputter getOutputter() { Iterator<ImageWriter> writers = ImageIO.getImageWritersByFormatName(getOriginalFormatName()); if (writers.hasNext()) { ImageWriter writer = writers.next(); ImageWriteParam param = writer.getDefaultWriteParam(); if (getOriginalFormatName().equals("jpeg")) { param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); param.setCompressionQuality(config.getJpegCompression()); } return new ImageIOOutputter(writer, param); } return new SanselanOutputter(FORMAT_NAME_TO_IMAGE_FORMAT.get(getOriginalFormatName())); }
protected ImageOutputter getOutputter() { Iterator<ImageWriter> writers = ImageIO.getImageWritersByFormatName(getOriginalFormatName()); if (writers.hasNext()) { ImageWriter writer = writers.next(); ImageWriteParam param = writer.getDefaultWriteParam(); if (getOriginalFormatName().equals("jpeg")) { param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); param.setCompressionQuality(config.getJpegCompression()); } return new ImageIOOutputter(writer, param); } return new SanselanOutputter(FORMAT_NAME_TO_IMAGE_FORMAT.get(getOriginalFormatName())); }
public void rewrite(BufferedImage image) throws IOException { if (outputter == null) { return; } long time = System.currentTimeMillis(); rewriteImpl(image); time = System.currentTimeMillis() - time; if (minBytes != null && minBytes.length != 0) { StringBuilder rewriteMsg = new StringBuilder(24); rewriteMsg.append("c=").append( ((minBytes.length * 100) / response.getContentLength())); if (!getOutputContentType().equals(getOriginalContentType())) { rewriteMsg.append(";o=").append(getOriginalContentType()); } rewriteMsg.append(";t=").append(time); // Removing the original 'Etag' header as we have updated the content. response.removeHeader("ETag"); response .setHeader("Content-Type", getOutputContentType()) .setHeader("X-Shindig-Rewrite", rewriteMsg.toString()) .setResponse(minBytes); } }
public BaseOptimizer(OptimizerConfig config, HttpResponseBuilder response, JpegImageUtils.JpegImageParams sourceImageParams) { this.config = config; this.response = response; this.minLength = response.getContentLength(); this.sourceImageParams = sourceImageParams; this.outputter = getOutputter(); }
protected ImageOutputter getOutputter() { Iterator<ImageWriter> writers = ImageIO.getImageWritersByFormatName(getOriginalFormatName()); if (writers.hasNext()) { ImageWriter writer = writers.next(); ImageWriteParam param = writer.getDefaultWriteParam(); if (getOriginalFormatName().equals("jpeg")) { param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); param.setCompressionQuality(config.getJpegCompression()); if (param instanceof JPEGImageWriteParam) { ((JPEGImageWriteParam) param).setOptimizeHuffmanTables( config.getJpegHuffmanOptimization()); } } JpegImageUtils.SamplingModes samplingMode = JpegImageUtils.SamplingModes.DEFAULT; if (config.getJpegRetainSubsampling() && sourceImageParams != null) { samplingMode = sourceImageParams.getSamplingMode(); } return new ImageIOOutputter(writer, param, samplingMode); } return new SanselanOutputter(FORMAT_NAME_TO_IMAGE_FORMAT.get(getOriginalFormatName())); }
public void rewrite(BufferedImage image) throws IOException { if (outputter == null) { return; } long time = System.currentTimeMillis(); rewriteImpl(image); time = System.currentTimeMillis() - time; if (minBytes != null && minBytes.length != 0) { StringBuilder rewriteMsg = new StringBuilder(24); rewriteMsg.append("c=").append( ((minBytes.length * 100) / response.getContentLength())); if (!getOutputContentType().equals(getOriginalContentType())) { rewriteMsg.append(";o=").append(getOriginalContentType()); } rewriteMsg.append(";t=").append(time); response.clearAllHeaders() .setHeader("Content-Type", getOutputContentType()) .setHeader("X-Shindig-Rewrite", rewriteMsg.toString()) .setResponse(minBytes); } }
public BaseOptimizer(OptimizerConfig config, HttpResponseBuilder response) { this.config = config; this.response = response; this.minLength = response.getContentLength(); this.outputter = getOutputter(); }