org.springframework.web.filter
Class ShallowEtagHeaderFilter.ShallowEtagResponseWrapper

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by javax.servlet.http.HttpServletResponseWrapper
          extended by org.springframework.web.filter.ShallowEtagHeaderFilter.ShallowEtagResponseWrapper
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse
Enclosing class:
ShallowEtagHeaderFilter

private static class ShallowEtagHeaderFilter.ShallowEtagResponseWrapper
extends javax.servlet.http.HttpServletResponseWrapper

HttpServletRequest wrapper that buffers all content written to the output stream and writer, and allows this content to be retrieved via a byte array.


Nested Class Summary
private  class ShallowEtagHeaderFilter.ShallowEtagResponseWrapper.ResponsePrintWriter
           
private  class ShallowEtagHeaderFilter.ShallowEtagResponseWrapper.ResponseServletOutputStream
           
 
Field Summary
private  java.io.ByteArrayOutputStream content
           
private  javax.servlet.ServletOutputStream outputStream
           
private  int statusCode
           
private  java.io.PrintWriter writer
           
 
Fields inherited from interface javax.servlet.http.HttpServletResponse
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 Summary
private ShallowEtagHeaderFilter.ShallowEtagResponseWrapper(javax.servlet.http.HttpServletResponse response)
           
 
Method Summary
 javax.servlet.ServletOutputStream getOutputStream()
           
private  int getStatusCode()
           
 java.io.PrintWriter getWriter()
           
 void reset()
           
 void resetBuffer()
           
 void sendError(int sc)
           
 void sendError(int sc, java.lang.String msg)
           
 void setStatus(int sc)
           
 void setStatus(int sc, java.lang.String sm)
           
private  byte[] toByteArray()
           
 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, sendRedirect, setDateHeader, setHeader, setIntHeader
 
Methods inherited from class javax.servlet.ServletResponseWrapper
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale, setResponse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.servlet.ServletResponse
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale
 

Field Detail

content

private final java.io.ByteArrayOutputStream content

outputStream

private final javax.servlet.ServletOutputStream outputStream

writer

private java.io.PrintWriter writer

statusCode

private int statusCode
Constructor Detail

ShallowEtagHeaderFilter.ShallowEtagResponseWrapper

private ShallowEtagHeaderFilter.ShallowEtagResponseWrapper(javax.servlet.http.HttpServletResponse response)
Method Detail

setStatus

public void setStatus(int sc)
Specified by:
setStatus in interface javax.servlet.http.HttpServletResponse
Overrides:
setStatus in class javax.servlet.http.HttpServletResponseWrapper

setStatus

public void setStatus(int sc,
                      java.lang.String sm)
Specified by:
setStatus in interface javax.servlet.http.HttpServletResponse
Overrides:
setStatus in class javax.servlet.http.HttpServletResponseWrapper

sendError

public void sendError(int sc)
               throws java.io.IOException
Specified by:
sendError in interface javax.servlet.http.HttpServletResponse
Overrides:
sendError in class javax.servlet.http.HttpServletResponseWrapper
Throws:
java.io.IOException

sendError

public void sendError(int sc,
                      java.lang.String msg)
               throws java.io.IOException
Specified by:
sendError in interface javax.servlet.http.HttpServletResponse
Overrides:
sendError in class javax.servlet.http.HttpServletResponseWrapper
Throws:
java.io.IOException

getOutputStream

public javax.servlet.ServletOutputStream getOutputStream()
Specified by:
getOutputStream in interface javax.servlet.ServletResponse
Overrides:
getOutputStream in class javax.servlet.ServletResponseWrapper

getWriter

public java.io.PrintWriter getWriter()
                              throws java.io.IOException
Specified by:
getWriter in interface javax.servlet.ServletResponse
Overrides:
getWriter in class javax.servlet.ServletResponseWrapper
Throws:
java.io.IOException

resetBuffer

public void resetBuffer()
Specified by:
resetBuffer in interface javax.servlet.ServletResponse
Overrides:
resetBuffer in class javax.servlet.ServletResponseWrapper

reset

public void reset()
Specified by:
reset in interface javax.servlet.ServletResponse
Overrides:
reset in class javax.servlet.ServletResponseWrapper

getStatusCode

private int getStatusCode()

toByteArray

private byte[] toByteArray()