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(String contentType,
String encoding) |
void |
addHeader(String name,
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.
|
char[] |
getContents() |
javax.servlet.ServletOutputStream |
getOutputStream() |
Page |
getPage() |
PrintWriter |
getWriter() |
boolean |
isUsingStream() |
void |
sendError(int sc) |
void |
sendError(int sc,
String msg) |
void |
sendRedirect(String location) |
void |
setContentLength(int contentLength)
Prevent content-length being set if page is parseable.
|
void |
setContentType(String type)
Set the content-type of the request and store it so it can
be passed to the
PageParser. |
void |
setHeader(String name,
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, getHeader, getHeaderNames, getHeaders, getStatus, setDateHeader, setIntHeader, setStatusgetBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLengthLong, 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(String type)
PageParser.setContentType in interface javax.servlet.ServletResponsesetContentType in class javax.servlet.ServletResponseWrapperprivate void deactivateSiteMesh()
public void setContentLength(int contentLength)
setContentLength in interface javax.servlet.ServletResponsesetContentLength in class javax.servlet.ServletResponseWrapperpublic void flushBuffer()
throws IOException
flushBuffer in interface javax.servlet.ServletResponseflushBuffer in class javax.servlet.ServletResponseWrapperIOExceptionpublic void setHeader(String name, String value)
setHeader in interface javax.servlet.http.HttpServletResponsesetHeader in class javax.servlet.http.HttpServletResponseWrapperpublic void addHeader(String name, 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 PrintWriter getWriter()
getWriter in interface javax.servlet.ServletResponsegetWriter in class javax.servlet.ServletResponseWrapperpublic Page getPage() throws IOException
IOExceptionpublic void sendError(int sc)
throws IOException
sendError in interface javax.servlet.http.HttpServletResponsesendError in class javax.servlet.http.HttpServletResponseWrapperIOExceptionpublic void sendError(int sc,
String msg)
throws IOException
sendError in interface javax.servlet.http.HttpServletResponsesendError in class javax.servlet.http.HttpServletResponseWrapperIOExceptionpublic void sendRedirect(String location) throws IOException
sendRedirect in interface javax.servlet.http.HttpServletResponsesendRedirect in class javax.servlet.http.HttpServletResponseWrapperIOExceptionpublic boolean isUsingStream()
public char[] getContents()
throws IOException
IOException