package org.jboss.capedwarf.appidentity; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponseWrapper; import org.jboss.capedwarf.blobstore.ExposedBlobstoreService; /** * @author <a href="mailto:mluksa@redhat.com">Marko Luksa</a> */ public class CapedwarfHttpServletResponseWrapper extends HttpServletResponseWrapper { private int contentLength; private String blobKey; private String blobRange; public CapedwarfHttpServletResponseWrapper(HttpServletResponse res) { super(res); } @Override public void setContentLength(int len) { this.contentLength = len; super.setContentLength(len); } public int getContentLength() { return contentLength; } @Override public void addHeader(String name, String value) { if (handleBlobHeaders(name, value)) return; super.addHeader(name, value); } @Override public void setHeader(String name, String value) { if (handleBlobHeaders(name, value)) return; super.setHeader(name, value); } private boolean handleBlobHeaders(String name, String value) { if (ExposedBlobstoreService.BLOB_KEY_HEADER.equals(name)) { blobKey = value; return true; } else if (ExposedBlobstoreService.BLOB_RANGE_HEADER.equals(name)) { blobRange = value; return true; } return false; } public String getBlobKey() { return blobKey; } public String getBlobRange() { return blobRange; } }