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, setStatus
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setLocale, setResponse
private 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.ServletResponse
setContentType
in class javax.servlet.ServletResponseWrapper
public void activateSiteMesh(java.lang.String contentType, java.lang.String encoding)
private void deactivateSiteMesh()
public void setContentLength(int contentLength)
setContentLength
in interface javax.servlet.ServletResponse
setContentLength
in class javax.servlet.ServletResponseWrapper
public void flushBuffer() throws java.io.IOException
flushBuffer
in interface javax.servlet.ServletResponse
flushBuffer
in class javax.servlet.ServletResponseWrapper
java.io.IOException
public void setHeader(java.lang.String name, java.lang.String value)
setHeader
in interface javax.servlet.http.HttpServletResponse
setHeader
in class javax.servlet.http.HttpServletResponseWrapper
public void addHeader(java.lang.String name, java.lang.String value)
addHeader
in interface javax.servlet.http.HttpServletResponse
addHeader
in class javax.servlet.http.HttpServletResponseWrapper
public void setStatus(int sc)
setStatus
in interface javax.servlet.http.HttpServletResponse
setStatus
in class javax.servlet.http.HttpServletResponseWrapper
public javax.servlet.ServletOutputStream getOutputStream()
getOutputStream
in interface javax.servlet.ServletResponse
getOutputStream
in class javax.servlet.ServletResponseWrapper
public java.io.PrintWriter getWriter()
getWriter
in interface javax.servlet.ServletResponse
getWriter
in class javax.servlet.ServletResponseWrapper
public Page getPage() throws java.io.IOException
java.io.IOException
public void sendError(int sc) throws java.io.IOException
sendError
in interface javax.servlet.http.HttpServletResponse
sendError
in class javax.servlet.http.HttpServletResponseWrapper
java.io.IOException
public void sendError(int sc, java.lang.String msg) throws java.io.IOException
sendError
in interface javax.servlet.http.HttpServletResponse
sendError
in class javax.servlet.http.HttpServletResponseWrapper
java.io.IOException
public void sendRedirect(java.lang.String location) throws java.io.IOException
sendRedirect
in interface javax.servlet.http.HttpServletResponse
sendRedirect
in class javax.servlet.http.HttpServletResponseWrapper
java.io.IOException
public boolean isUsingStream()
public SitemeshBuffer getContents() throws java.io.IOException
java.io.IOException