com.opensymphony.module.sitemesh.filter
Class PageResponseWrapper
java.lang.Object
javax.servlet.ServletResponseWrapper
javax.servlet.http.HttpServletResponseWrapper
com.opensymphony.module.sitemesh.filter.PageResponseWrapper
- All Implemented Interfaces:
- HttpServletResponse, ServletResponse
- public final class PageResponseWrapper
- extends HttpServletResponseWrapper
Implementation of HttpServletResponseWrapper that captures page data instead of
sending to the writer.
Should be used in filter-chains or when forwarding/including pages
using a RequestDispatcher.
- Version:
- $Revision: 1.11 $
- Author:
- Joe Walnes, Scott Farquhar
| 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 |
| Methods inherited from class javax.servlet.http.HttpServletResponseWrapper |
addCookie, addDateHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, setDateHeader, setIntHeader, setStatus |
| Methods inherited from class javax.servlet.ServletResponseWrapper |
flushBuffer, getBufferSize, getCharacterEncoding, getLocale, getResponse, isCommitted, reset, resetBuffer, setBufferSize, setLocale, setResponse |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
routablePrintWriter
private final RoutablePrintWriter routablePrintWriter
routableServletOutputStream
private final RoutableServletOutputStream routableServletOutputStream
factory
private final Factory factory
buffer
private Buffer buffer
aborted
private boolean aborted
parseablePage
private boolean parseablePage
PageResponseWrapper
public PageResponseWrapper(HttpServletResponse response,
Factory factory)
setContentType
public void setContentType(String type)
- Set the content-type of the request and store it so it can
be passed to the
PageParser.
activateSiteMesh
private void activateSiteMesh(String contentType,
String encoding)
extractContentTypeValue
private String extractContentTypeValue(String type,
int startIndex)
setContentLength
public void setContentLength(int contentLength)
- Prevent content-length being set if page is parseable.
setHeader
public void setHeader(String name,
String value)
- Prevent content-length being set if page is parseable.
addHeader
public void addHeader(String name,
String value)
- Prevent content-length being set if page is parseable.
setStatus
public void setStatus(int sc)
- Prevent 'not modified' (304) HTTP status from being sent if page is parseable
(so web-server/browser doesn't cache contents).
getOutputStream
public ServletOutputStream getOutputStream()
getWriter
public PrintWriter getWriter()
getPage
public Page getPage()
throws IOException
- Throws:
IOException
sendError
public void sendError(int sc)
throws IOException
- Throws:
IOException
sendError
public void sendError(int sc,
String msg)
throws IOException
- Throws:
IOException
sendRedirect
public void sendRedirect(String location)
throws IOException
- Throws:
IOException
isUsingStream
public boolean isUsingStream()