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, sendRedirect, setDateHeader, setHeader, setIntHeader
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale, setResponse
public ObservantResponseWrapper(javax.servlet.http.HttpServletResponse httpServletResponse)
public int getStatus()
getStatus
in interface javax.servlet.http.HttpServletResponse
getStatus
in class javax.servlet.http.HttpServletResponseWrapper
public 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.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 setStatus(int sc)
setStatus
in interface javax.servlet.http.HttpServletResponse
setStatus
in class javax.servlet.http.HttpServletResponseWrapper
public void setStatus(int sc, String s)
setStatus
in interface javax.servlet.http.HttpServletResponse
setStatus
in class javax.servlet.http.HttpServletResponseWrapper
public PrintWriter getWriter() throws IOException
getWriter
in interface javax.servlet.ServletResponse
getWriter
in class javax.servlet.ServletResponseWrapper
IOException
public javax.servlet.ServletOutputStream getOutputStream() throws IOException
getOutputStream
in interface javax.servlet.ServletResponse
getOutputStream
in class javax.servlet.ServletResponseWrapper
IOException
Copyright © 2002-2019 Atlassian. All Rights Reserved.