/* * Created on 25-ott-2004 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package com.opensymphony.oscache.web.filter; import javax.servlet.http.HttpServletResponse; /** * Intercept the content type when being set via the header * * @author Simone Avogadro */ public class TypedCacheHttpServletResponseWrapper extends CacheHttpServletResponseWrapper { private static final String HEADER_CONTENT_TYPE = "Content-Type"; int settingContentType = 0; /** * @param response */ public TypedCacheHttpServletResponseWrapper(HttpServletResponse response) { super(response); } /** * Set a header field * * @param name The header name * @param value The header value */ public void setHeader(String name, String value) { if (settingContentType==0 && HEADER_CONTENT_TYPE.equalsIgnoreCase(name) ) { super.setContentType(value); } super.setHeader(name,value); } /** * Add an header field * * @param name The header name * @param value The header value */ public void addHeader(String name, String value) { if (settingContentType==0 && HEADER_CONTENT_TYPE.equalsIgnoreCase(name) ) { super.setContentType(value); } super.addHeader(name,value); } /** * Set the content type * * @param value The content type */ public void setContentType(String value) { settingContentType++; super.setContentType(value); settingContentType--; } }