public class PerfWritingHttpServletResponse
extends javax.servlet.http.HttpServletResponseWrapper
Modifier and Type | Field and Description |
---|---|
protected int |
expireTimeout |
protected boolean |
hasWritten |
protected javax.servlet.http.HttpServletResponse |
httpResponse |
protected PerfStats.OutputFormat |
outputFormat |
protected boolean |
perfCookie |
protected Enum<?> |
perfStat |
protected String |
perfStatsHeader |
protected String |
requestURI |
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 |
---|
PerfWritingHttpServletResponse(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Enum<?> stat,
String perfStatsHeader)
Initialize with default output format.
|
PerfWritingHttpServletResponse(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Enum<?> stat,
String perfStatsHeader,
PerfStats.OutputFormat format)
Initialize with all parameters.
|
Modifier and Type | Method and Description |
---|---|
void |
enablePerfCookie()
Deprecated.
1.8.1, no replacement. this method has no effect.
|
javax.servlet.ServletOutputStream |
getOutputStream() |
PrintWriter |
getWriter() |
void |
sendError(int sc) |
void |
sendError(int sc,
String msg) |
void |
sendRedirect(String location) |
void |
setPerfCookie(boolean perfCookie)
Set to
true if wb_total_perf cookie should be set
in the response. |
void |
writePerfStats()
Write performance metrics to HTTP header field and Cookie.
|
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, setDateHeader, setHeader, setIntHeader, setStatus, setStatus
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale, setResponse
protected final Enum<?> perfStat
protected final String perfStatsHeader
protected boolean hasWritten
protected final javax.servlet.http.HttpServletResponse httpResponse
protected PerfStats.OutputFormat outputFormat
protected int expireTimeout
protected final String requestURI
protected boolean perfCookie
public PerfWritingHttpServletResponse(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Enum<?> stat, String perfStatsHeader)
request
- response
- stat
- perfStatsHeader
- public PerfWritingHttpServletResponse(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Enum<?> stat, String perfStatsHeader, PerfStats.OutputFormat format)
request
- requestURI
is used as cookie pathresponse
- wrapped responsestat
- names stat for total elapsed time.perfStatsHeader
- names HTTP header field for dumping all stats.format
- format of perfStatsHeader
public void writePerfStats()
sendError(int)
, sendRedirect(String)
,
getWriter()
or getOutputStream()
.
2014-11-17 Now it doesn't call timeEnd
for
perfStat
. Be sure to call endNow()
explicitly.public void sendError(int sc, String msg) throws IOException
sendError
in interface javax.servlet.http.HttpServletResponse
sendError
in class javax.servlet.http.HttpServletResponseWrapper
IOException
public void sendError(int sc) throws IOException
sendError
in interface javax.servlet.http.HttpServletResponse
sendError
in class javax.servlet.http.HttpServletResponseWrapper
IOException
public void sendRedirect(String location) throws IOException
sendRedirect
in interface javax.servlet.http.HttpServletResponse
sendRedirect
in class javax.servlet.http.HttpServletResponseWrapper
IOException
public javax.servlet.ServletOutputStream getOutputStream() throws IOException
getOutputStream
in interface javax.servlet.ServletResponse
getOutputStream
in class javax.servlet.ServletResponseWrapper
IOException
public PrintWriter getWriter() throws IOException
getWriter
in interface javax.servlet.ServletResponse
getWriter
in class javax.servlet.ServletResponseWrapper
IOException
public void enablePerfCookie()
public void setPerfCookie(boolean perfCookie)
true
if wb_total_perf
cookie should be set
in the response. In general this is a bad idea because it'll defeat
front-end caching. As such, this is off by default.perfCookie
- true
for sending out the cookieCopyright © 2005–2015 IIPC. All rights reserved.