public class PageResponseWrapper
extends javax.servlet.http.HttpServletResponseWrapper
Should be used in filter-chains or when forwarding/including pages using a RequestDispatcher.
| Modifier and Type | Field and Description |
|---|---|
private boolean |
aborted |
private Buffer |
buffer |
private boolean |
parseablePage |
private PageParserSelector |
parserSelector |
private RoutablePrintWriter |
routablePrintWriter |
private RoutableServletOutputStream |
routableServletOutputStream |
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 |
|---|
PageResponseWrapper(javax.servlet.http.HttpServletResponse response,
PageParserSelector parserSelector) |
| Modifier and Type | Method and Description |
|---|---|
void |
activateSiteMesh(java.lang.String contentType,
java.lang.String encoding) |
void |
addHeader(java.lang.String name,
java.lang.String value)
Prevent content-length being set if page is parseable.
|
private void |
deactivateSiteMesh() |
void |
flushBuffer()
Prevent buffer from being flushed if this is a page being parsed.
|
SitemeshBuffer |
getContents() |
javax.servlet.ServletOutputStream |
getOutputStream() |
Page |
getPage() |
java.io.PrintWriter |
getWriter() |
boolean |
isUsingStream() |
void |
sendError(int sc) |
void |
sendError(int sc,
java.lang.String msg) |
void |
sendRedirect(java.lang.String location) |
void |
setContentLength(int contentLength)
Prevent content-length being set if page is parseable.
|
void |
setContentType(java.lang.String type)
Set the content-type of the request and store it so it can
be passed to the
PageParser. |
void |
setHeader(java.lang.String name,
java.lang.String value)
Prevent content-length being set if page is parseable.
|
void |
setStatus(int sc)
If 'not modified' (304) HTTP status is being sent - then abort parsing, as there shouldn't be any body
|
addCookie, addDateHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, setDateHeader, setIntHeader, setStatusgetBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setLocale, setResponseprivate final RoutablePrintWriter routablePrintWriter
private final RoutableServletOutputStream routableServletOutputStream
private final PageParserSelector parserSelector
private Buffer buffer
private boolean aborted
private boolean parseablePage
public PageResponseWrapper(javax.servlet.http.HttpServletResponse response,
PageParserSelector parserSelector)
public void setContentType(java.lang.String type)
PageParser.setContentType in interface javax.servlet.ServletResponsesetContentType in class javax.servlet.ServletResponseWrapperpublic void activateSiteMesh(java.lang.String contentType,
java.lang.String encoding)
private void deactivateSiteMesh()
public void setContentLength(int contentLength)
setContentLength in interface javax.servlet.ServletResponsesetContentLength in class javax.servlet.ServletResponseWrapperpublic void flushBuffer()
throws java.io.IOException
flushBuffer in interface javax.servlet.ServletResponseflushBuffer in class javax.servlet.ServletResponseWrapperjava.io.IOExceptionpublic void setHeader(java.lang.String name,
java.lang.String value)
setHeader in interface javax.servlet.http.HttpServletResponsesetHeader in class javax.servlet.http.HttpServletResponseWrapperpublic void addHeader(java.lang.String name,
java.lang.String value)
addHeader in interface javax.servlet.http.HttpServletResponseaddHeader in class javax.servlet.http.HttpServletResponseWrapperpublic void setStatus(int sc)
setStatus in interface javax.servlet.http.HttpServletResponsesetStatus in class javax.servlet.http.HttpServletResponseWrapperpublic javax.servlet.ServletOutputStream getOutputStream()
getOutputStream in interface javax.servlet.ServletResponsegetOutputStream in class javax.servlet.ServletResponseWrapperpublic java.io.PrintWriter getWriter()
getWriter in interface javax.servlet.ServletResponsegetWriter in class javax.servlet.ServletResponseWrapperpublic Page getPage() throws java.io.IOException
java.io.IOExceptionpublic void sendError(int sc)
throws java.io.IOException
sendError in interface javax.servlet.http.HttpServletResponsesendError in class javax.servlet.http.HttpServletResponseWrapperjava.io.IOExceptionpublic void sendError(int sc,
java.lang.String msg)
throws java.io.IOException
sendError in interface javax.servlet.http.HttpServletResponsesendError in class javax.servlet.http.HttpServletResponseWrapperjava.io.IOExceptionpublic void sendRedirect(java.lang.String location)
throws java.io.IOException
sendRedirect in interface javax.servlet.http.HttpServletResponsesendRedirect in class javax.servlet.http.HttpServletResponseWrapperjava.io.IOExceptionpublic boolean isUsingStream()
public SitemeshBuffer getContents() throws java.io.IOException
java.io.IOException