public class ExpiresFilter.XHttpServletResponse extends HttpServletResponseWrapper
Wrapping extension of the HttpServletResponse
to yrap 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.
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 and Description |
---|
ExpiresFilter.XHttpServletResponse(HttpServletRequest request,
HttpServletResponse response) |
Modifier and Type | Method and Description |
---|---|
void |
addDateHeader(String name,
long date)
The default behavior of this method is to call addDateHeader(String name,
long date) on the wrapped response object.
|
void |
addHeader(String name,
String value)
The default behavior of this method is to return addHeader(String name,
String value) on the wrapped response object.
|
String |
getCacheControlHeader() |
long |
getLastModifiedHeader() |
ServletOutputStream |
getOutputStream()
The default behavior of this method is to return getOutputStream() on the
wrapped response object.
|
PrintWriter |
getWriter()
The default behavior of this method is to return getWriter() on the
wrapped response object.
|
boolean |
isLastModifiedHeaderSet() |
boolean |
isWriteResponseBodyStarted() |
void |
reset()
The default behavior of this method is to call reset() on the wrapped
response object.
|
void |
setDateHeader(String name,
long date)
The default behavior of this method is to call setDateHeader(String name,
long date) on the wrapped response object.
|
void |
setHeader(String name,
String value)
The default behavior of this method is to return setHeader(String name,
String value) on the wrapped response object.
|
void |
setWriteResponseBodyStarted(boolean writeResponseBodyStarted) |
addCookie, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, sendError, sendError, sendRedirect, setIntHeader, setStatus, setStatus
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale, setResponse
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale
public ExpiresFilter.XHttpServletResponse(HttpServletRequest request, HttpServletResponse response)
public void addDateHeader(String name, long date)
HttpServletResponseWrapper
addDateHeader
in interface HttpServletResponse
addDateHeader
in class HttpServletResponseWrapper
name
- the name of the header to setdate
- the additional date valueHttpServletResponse.setDateHeader(java.lang.String, long)
public void addHeader(String name, String value)
HttpServletResponseWrapper
addHeader
in interface HttpServletResponse
addHeader
in class HttpServletResponseWrapper
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)HttpServletResponse.setHeader(java.lang.String, java.lang.String)
public String getCacheControlHeader()
public long getLastModifiedHeader()
public ServletOutputStream getOutputStream() throws IOException
ServletResponseWrapper
getOutputStream
in interface ServletResponse
getOutputStream
in class ServletResponseWrapper
ServletOutputStream
for writing binary dataIOException
- if an input or output exception occurredServletResponse.getWriter()
public PrintWriter getWriter() throws IOException
ServletResponseWrapper
getWriter
in interface ServletResponse
getWriter
in class ServletResponseWrapper
PrintWriter
object that can return character data
to the clientUnsupportedEncodingException
- if the character encoding returned by
getCharacterEncoding
cannot be usedIOException
- if an input or output exception occurredServletResponse.getOutputStream()
,
ServletResponse.setCharacterEncoding(java.lang.String)
public boolean isLastModifiedHeaderSet()
public boolean isWriteResponseBodyStarted()
public void reset()
ServletResponseWrapper
reset
in interface ServletResponse
reset
in class ServletResponseWrapper
ServletResponse.setBufferSize(int)
,
ServletResponse.getBufferSize()
,
ServletResponse.flushBuffer()
,
ServletResponse.isCommitted()
public void setDateHeader(String name, long date)
HttpServletResponseWrapper
setDateHeader
in interface HttpServletResponse
setDateHeader
in class HttpServletResponseWrapper
name
- the name of the header to setdate
- the assigned date valueHttpServletResponse.containsHeader(java.lang.String)
,
HttpServletResponse.addDateHeader(java.lang.String, long)
public void setHeader(String name, String value)
HttpServletResponseWrapper
setHeader
in interface HttpServletResponse
setHeader
in class HttpServletResponseWrapper
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)HttpServletResponse.containsHeader(java.lang.String)
,
HttpServletResponse.addHeader(java.lang.String, java.lang.String)
public void setWriteResponseBodyStarted(boolean writeResponseBodyStarted)
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.