org.omnifaces.servlet
Class GzipHttpServletResponse

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by javax.servlet.http.HttpServletResponseWrapper
          extended by org.omnifaces.servlet.HttpServletResponseOutputWrapper
              extended by org.omnifaces.servlet.GzipHttpServletResponse
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public class GzipHttpServletResponse
extends HttpServletResponseOutputWrapper

This HTTP servlet response wrapper will GZIP the response when the given threshold has exceeded and the response content type matches one of the given mimetypes.

Since:
1.1
Author:
Bauke Scholtz

Field Summary
 
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
GzipHttpServletResponse(javax.servlet.http.HttpServletResponse wrapped, int threshold, java.util.Set<java.lang.String> mimetypes)
          Construct a new GZIP HTTP servlet response based on the given wrapped response, threshold and mimetypes.
 
Method Summary
 void addHeader(java.lang.String name, java.lang.String value)
           
 void close()
          Close the response body.
protected  java.io.OutputStream createOutputStream()
          Returns the custom implementation of the servlet response OutputStream.
 void reset()
           
 void setContentLength(int contentLength)
           
 void setHeader(java.lang.String name, java.lang.String value)
           
 
Methods inherited from class org.omnifaces.servlet.HttpServletResponseOutputWrapper
flushBuffer, getOutputStream, getWriter, isCommitted, isPassThrough, setPassThrough
 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, sendError, sendError, sendRedirect, setDateHeader, setIntHeader, setStatus, setStatus
 
Methods inherited from class javax.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isWrapperFor, isWrapperFor, resetBuffer, setBufferSize, setCharacterEncoding, 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, resetBuffer, setBufferSize, setCharacterEncoding, setContentType, setLocale
 

Constructor Detail

GzipHttpServletResponse

public GzipHttpServletResponse(javax.servlet.http.HttpServletResponse wrapped,
                               int threshold,
                               java.util.Set<java.lang.String> mimetypes)
Construct a new GZIP HTTP servlet response based on the given wrapped response, threshold and mimetypes.

Parameters:
wrapped - The wrapped response.
threshold - The GZIP buffer threshold.
mimetypes - The mimetypes which needs to be compressed with GZIP.
Method Detail

setContentLength

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

setHeader

public void setHeader(java.lang.String name,
                      java.lang.String value)
Specified by:
setHeader in interface javax.servlet.http.HttpServletResponse
Overrides:
setHeader in class javax.servlet.http.HttpServletResponseWrapper

addHeader

public void addHeader(java.lang.String name,
                      java.lang.String value)
Specified by:
addHeader in interface javax.servlet.http.HttpServletResponse
Overrides:
addHeader in class javax.servlet.http.HttpServletResponseWrapper

reset

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

close

public void close()
           throws java.io.IOException
Description copied from class: HttpServletResponseOutputWrapper
Close the response body. This closes any created writer or output stream.

Overrides:
close in class HttpServletResponseOutputWrapper
Throws:
java.io.IOException - When an I/O error occurs.

createOutputStream

protected java.io.OutputStream createOutputStream()
Description copied from class: HttpServletResponseOutputWrapper
Returns the custom implementation of the servlet response OutputStream.

Specified by:
createOutputStream in class HttpServletResponseOutputWrapper
Returns:
The custom implementation of the servlet response OutputStream.