Class GZIPResponseWrapper

java.lang.Object
javax.servlet.ServletResponseWrapper
javax.servlet.http.HttpServletResponseWrapper
de.hybris.platform.util.GZIPResponseWrapper
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public class GZIPResponseWrapper extends javax.servlet.http.HttpServletResponseWrapper
Implementation of a HttpServletResponse which provides gzip compression on its content.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected javax.servlet.http.HttpServletResponse
     
    protected javax.servlet.ServletOutputStream
     
    protected PrintWriter
     

    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

    Constructors
    Constructor
    Description
    GZIPResponseWrapper(javax.servlet.http.HttpServletResponse response)
    Creates a new GZIPResponseWrapper which wraps the given response.
  • Method Summary

    Modifier and Type
    Method
    Description
    javax.servlet.ServletOutputStream
    Creates and returns a new GZIPResponseStream.
    void
    Finishes this response by closing the underlying stream/writer.
    void
    Flushes the underlying output stream.
    javax.servlet.ServletOutputStream
    Returns the underlying GZIPResponseStream.
    Returns the underlying PrintWriter which in turn is backed up by an GZIPResponseStream.
    void
    setContentLength(int length)
    This implementation of ServletResponseWrapper.setContentLength(int) does nothing.

    Methods inherited from class javax.servlet.http.HttpServletResponseWrapper

    addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus

    Methods inherited from class javax.servlet.ServletResponseWrapper

    getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLengthLong, 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

    getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLengthLong, setContentType, setLocale
  • Field Details

    • origResponse

      protected javax.servlet.http.HttpServletResponse origResponse
    • outputStream

      protected javax.servlet.ServletOutputStream outputStream
    • printWriter

      protected PrintWriter printWriter
  • Constructor Details

    • GZIPResponseWrapper

      public GZIPResponseWrapper(javax.servlet.http.HttpServletResponse response)
      Creates a new GZIPResponseWrapper which wraps the given response.
      Parameters:
      response - original HttpServletResponse object.
  • Method Details

    • getOutputStream

      public javax.servlet.ServletOutputStream getOutputStream() throws IOException
      Returns the underlying GZIPResponseStream.
      Specified by:
      getOutputStream in interface javax.servlet.ServletResponse
      Overrides:
      getOutputStream in class javax.servlet.ServletResponseWrapper
      Throws:
      IOException
    • getWriter

      public PrintWriter getWriter() throws IOException
      Returns the underlying PrintWriter which in turn is backed up by an GZIPResponseStream.
      Specified by:
      getWriter in interface javax.servlet.ServletResponse
      Overrides:
      getWriter in class javax.servlet.ServletResponseWrapper
      Throws:
      IOException
    • createOutputStream

      public javax.servlet.ServletOutputStream createOutputStream() throws IOException
      Creates and returns a new GZIPResponseStream.
      Throws:
      IOException
    • flushBuffer

      public void flushBuffer() throws IOException
      Flushes the underlying output stream.
      Specified by:
      flushBuffer in interface javax.servlet.ServletResponse
      Overrides:
      flushBuffer in class javax.servlet.ServletResponseWrapper
      Throws:
      IOException
    • finishResponse

      public void finishResponse()
      Finishes this response by closing the underlying stream/writer.
    • setContentLength

      public void setContentLength(int length)
      This implementation of ServletResponseWrapper.setContentLength(int) does nothing. The correct content length header will be set when the underlying GZIPResponseStream is closed (via GZIPResponseStream.close()).
      Specified by:
      setContentLength in interface javax.servlet.ServletResponse
      Overrides:
      setContentLength in class javax.servlet.ServletResponseWrapper