public class ObservantResponseWrapper
extends javax.servlet.http.HttpServletResponseWrapper
THREAD SAFETY - One of these must be constructed on each HTTP request/response and hence only one thread may write to it at the one time. This suits the whole servlet engine idea,
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 |
|---|
ObservantResponseWrapper(javax.servlet.http.HttpServletResponse httpServletResponse) |
| Modifier and Type | Method and Description |
|---|---|
long |
getContentLen()
Returns the length of the content that has been sent back via this HttpServletResponseWrapper.
|
javax.servlet.ServletOutputStream |
getOutputStream()
Overridden to capture output content length
|
int |
getStatus() |
PrintWriter |
getWriter()
Overridden to capture output content length
|
void |
sendError(int sc)
Overridden to capture HTTP status codes
|
void |
sendError(int sc,
String s)
Overridden to capture HTTP status codes
|
void |
setStatus(int sc)
Overridden to capture HTTP status codes
|
void |
setStatus(int sc,
String s)
Overridden to capture HTTP status codes
|
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getTrailerFields, sendRedirect, setDateHeader, setHeader, setIntHeader, setTrailerFieldsflushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale, setResponsepublic ObservantResponseWrapper(javax.servlet.http.HttpServletResponse httpServletResponse)
public int getStatus()
getStatus in interface javax.servlet.http.HttpServletResponsegetStatus in class javax.servlet.http.HttpServletResponseWrapperpublic long getContentLen()
This is a count in character OR bytes, depending on form of output was used. Let em explain!
If the web response uses the getOutputStream() method, then the content length will be a count of
bytes. If they use the getWriter() method, then it will be a count of characters.
We dont want to get into the game of working out how a set of Unicode characters translate into a series of bytes. Its expensive and the point of this code is to be as cheap as possible.
public void sendError(int sc,
String s)
throws IOException
sendError in interface javax.servlet.http.HttpServletResponsesendError in class javax.servlet.http.HttpServletResponseWrapperIOExceptionpublic void sendError(int sc)
throws IOException
sendError in interface javax.servlet.http.HttpServletResponsesendError in class javax.servlet.http.HttpServletResponseWrapperIOExceptionpublic void setStatus(int sc)
setStatus in interface javax.servlet.http.HttpServletResponsesetStatus in class javax.servlet.http.HttpServletResponseWrapperpublic void setStatus(int sc,
String s)
setStatus in interface javax.servlet.http.HttpServletResponsesetStatus in class javax.servlet.http.HttpServletResponseWrapperpublic PrintWriter getWriter() throws IOException
getWriter in interface javax.servlet.ServletResponsegetWriter in class javax.servlet.ServletResponseWrapperIOExceptionpublic javax.servlet.ServletOutputStream getOutputStream()
throws IOException
getOutputStream in interface javax.servlet.ServletResponsegetOutputStream in class javax.servlet.ServletResponseWrapperIOExceptionCopyright © 2002-2024 Atlassian. All Rights Reserved.