com.atlassian.core.filters.legacy
Class NoContentLocationHeaderResponseWrapper

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by javax.servlet.http.HttpServletResponseWrapper
          extended by com.atlassian.core.filters.legacy.NoContentLocationHeaderResponseWrapper
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public final class NoContentLocationHeaderResponseWrapper
extends javax.servlet.http.HttpServletResponseWrapper

Legacy response wrapper which prevents the Content-Location header being set on the wrapped response.

This was necessary for Orion application servers earlier than 2.0.2, which set the Content- Location header on JSPs automatically. Opera versions 7.x and 8.x used the header to resolve relative URLs, but this was reverted in Opera 9.

This is here for legacy functionality, but its use is not recommended. Our applications no longer support the versions of Opera and Orion that need this fix.

Since:
4.0

Field Summary
 
Fields inherited from interface javax.servlet.http.HttpServletResponse
SC_ACCEPTED, SC_BAD_GATEWAY, SC_BAD_REQUEST, SC_CONFLICT, SC_CONTINUE, SC_CREATED, SC_EXPECTATION_FAILED, SC_FORBIDDEN, SC_GATEWAY_TIMEOUT, SC_GONE, SC_HTTP_VERSION_NOT_SUPPORTED, SC_INTERNAL_SERVER_ERROR, SC_LENGTH_REQUIRED, SC_METHOD_NOT_ALLOWED, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_MULTIPLE_CHOICES, SC_NO_CONTENT, SC_NON_AUTHORITATIVE_INFORMATION, SC_NOT_ACCEPTABLE, SC_NOT_FOUND, SC_NOT_IMPLEMENTED, SC_NOT_MODIFIED, SC_OK, SC_PARTIAL_CONTENT, SC_PAYMENT_REQUIRED, SC_PRECONDITION_FAILED, SC_PROXY_AUTHENTICATION_REQUIRED, SC_REQUEST_ENTITY_TOO_LARGE, SC_REQUEST_TIMEOUT, SC_REQUEST_URI_TOO_LONG, SC_REQUESTED_RANGE_NOT_SATISFIABLE, SC_RESET_CONTENT, SC_SEE_OTHER, SC_SERVICE_UNAVAILABLE, SC_SWITCHING_PROTOCOLS, SC_TEMPORARY_REDIRECT, SC_UNAUTHORIZED, SC_UNSUPPORTED_MEDIA_TYPE, SC_USE_PROXY
 
Constructor Summary
NoContentLocationHeaderResponseWrapper(javax.servlet.http.HttpServletResponse response)
           
 
Method Summary
 void addHeader(java.lang.String name, java.lang.String value)
          If the header name is "Content-Location", the header is not added to.
 void setHeader(java.lang.String name, java.lang.String value)
          If the header name is "Content-Location", the header is not set.
 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, sendError, sendError, sendRedirect, setDateHeader, setIntHeader, setStatus, setStatus
 
Methods inherited from class javax.servlet.ServletResponseWrapper
flushBuffer, getBufferSize, getCharacterEncoding, getLocale, getOutputStream, getResponse, getWriter, isCommitted, reset, resetBuffer, setBufferSize, setContentLength, setContentType, setLocale, setResponse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.servlet.ServletResponse
flushBuffer, getBufferSize, getCharacterEncoding, getLocale, getOutputStream, getWriter, isCommitted, reset, resetBuffer, setBufferSize, setContentLength, setContentType, setLocale
 

Constructor Detail

NoContentLocationHeaderResponseWrapper

public NoContentLocationHeaderResponseWrapper(javax.servlet.http.HttpServletResponse response)
Method Detail

setHeader

public void setHeader(java.lang.String name,
                      java.lang.String value)
If the header name is "Content-Location", the header is not set. Otherwise, delegates to the wrapped response.

Specified by:
setHeader in interface javax.servlet.http.HttpServletResponse
Overrides:
setHeader in class javax.servlet.http.HttpServletResponseWrapper

addHeader

public void addHeader(java.lang.String name,
                      java.lang.String value)
If the header name is "Content-Location", the header is not added to. Otherwise, delegates to the wrapped response.

Specified by:
addHeader in interface javax.servlet.http.HttpServletResponse
Overrides:
addHeader in class javax.servlet.http.HttpServletResponseWrapper


Copyright © 2009 Atlassian Pty Ltd. All Rights Reserved.