Class ExpiresFilter.XHttpServletResponse
java.lang.Object
javax.servlet.ServletResponseWrapper
javax.servlet.http.HttpServletResponseWrapper
org.apache.catalina.filters.ExpiresFilter.XHttpServletResponse
- All Implemented Interfaces:
HttpServletResponse,ServletResponse
- Enclosing class:
ExpiresFilter
Wrapping extension of the HttpServletResponse to wrap the "Start Write Response Body" event.
For performance optimization : this extended response holds the lastModifiedHeader and
cacheControlHeader values access to the slow HttpServletResponseWrapper.getHeader(String) and to spare the string
to date to long conversion.
-
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_FOUND, 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
ConstructorsConstructorDescriptionXHttpServletResponse(HttpServletRequest request, HttpServletResponse response) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddDateHeader(String name, long date) The default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object.voidThe default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.longThe default behavior of this method is to return getOutputStream() on the wrapped response object.The default behavior of this method is to return getWriter() on the wrapped response object.booleanbooleanvoidreset()The default behavior of this method is to call reset() on the wrapped response object.voidsetDateHeader(String name, long date) The default behavior of this method is to call setDateHeader(String name, long date) on the wrapped response object.voidThe default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.voidsetWriteResponseBodyStarted(boolean writeResponseBodyStarted) Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, sendError, sendError, sendRedirect, setIntHeader, setStatus, setStatus, setTrailerFieldsMethods inherited from class javax.servlet.ServletResponseWrapper
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale, setResponseMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface javax.servlet.ServletResponse
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale
-
Constructor Details
-
XHttpServletResponse
-
-
Method Details
-
addDateHeader
Description copied from class:javax.servlet.http.HttpServletResponseWrapperThe default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object.- Specified by:
addDateHeaderin interfaceHttpServletResponse- Overrides:
addDateHeaderin classHttpServletResponseWrapper- Parameters:
name- the name of the header to setdate- the additional date value- See Also:
-
addHeader
Description copied from class:javax.servlet.http.HttpServletResponseWrapperThe default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.- Specified by:
addHeaderin interfaceHttpServletResponse- Overrides:
addHeaderin classHttpServletResponseWrapper- Parameters:
name- the name of the headervalue- the additional header value If it contains octet string, it should be encoded according to RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)- See Also:
-
getCacheControlHeader
-
getLastModifiedHeader
public long getLastModifiedHeader() -
getOutputStream
Description copied from class:javax.servlet.ServletResponseWrapperThe default behavior of this method is to return getOutputStream() on the wrapped response object.- Specified by:
getOutputStreamin interfaceServletResponse- Overrides:
getOutputStreamin classServletResponseWrapper- Returns:
- a
ServletOutputStreamfor writing binary data - Throws:
IOException- if an input or output exception occurred- See Also:
-
getWriter
Description copied from class:javax.servlet.ServletResponseWrapperThe default behavior of this method is to return getWriter() on the wrapped response object.- Specified by:
getWriterin interfaceServletResponse- Overrides:
getWriterin classServletResponseWrapper- Returns:
- a
PrintWriterobject that can return character data to the client - Throws:
IOException- if an input or output exception occurred- See Also:
-
isLastModifiedHeaderSet
public boolean isLastModifiedHeaderSet() -
isWriteResponseBodyStarted
public boolean isWriteResponseBodyStarted() -
reset
public void reset()Description copied from class:javax.servlet.ServletResponseWrapperThe default behavior of this method is to call reset() on the wrapped response object.- Specified by:
resetin interfaceServletResponse- Overrides:
resetin classServletResponseWrapper- See Also:
-
setDateHeader
Description copied from class:javax.servlet.http.HttpServletResponseWrapperThe default behavior of this method is to call setDateHeader(String name, long date) on the wrapped response object.- Specified by:
setDateHeaderin interfaceHttpServletResponse- Overrides:
setDateHeaderin classHttpServletResponseWrapper- Parameters:
name- the name of the header to setdate- the assigned date value- See Also:
-
setHeader
Description copied from class:javax.servlet.http.HttpServletResponseWrapperThe default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.- Specified by:
setHeaderin interfaceHttpServletResponse- Overrides:
setHeaderin classHttpServletResponseWrapper- Parameters:
name- the name of the headervalue- the header value If it contains octet string, it should be encoded according to RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)- See Also:
-
setWriteResponseBodyStarted
public void setWriteResponseBodyStarted(boolean writeResponseBodyStarted)
-