- java.lang.Object
-
- jakarta.servlet.ServletResponseWrapper
-
- jakarta.servlet.http.HttpServletResponseWrapper
-
- org.omnifaces.servlet.HttpServletResponseOutputWrapper
-
- org.omnifaces.servlet.GzipHttpServletResponse
-
- All Implemented Interfaces:
HttpServletResponse
,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 jakarta.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 GzipHttpServletResponse(HttpServletResponse wrapped, int threshold, Set<String> mimetypes)
Construct a new GZIP HTTP servlet response based on the given wrapped response, threshold and mimetypes.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addHeader(String name, String value)
void
close()
Close the response body.protected OutputStream
createOutputStream()
Returns the custom implementation of the servlet responseOutputStream
.void
flushBuffer()
void
reset()
void
setContentLength(int contentLength)
void
setContentLengthLong(long contentLength)
void
setHeader(String name, String value)
-
Methods inherited from class org.omnifaces.servlet.HttpServletResponseOutputWrapper
getOutputStream, getWriter, isCommitted, isPassThrough, setPassThrough
-
Methods inherited from class jakarta.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, sendError, sendError, sendRedirect, setDateHeader, setIntHeader, setStatus, setStatus, setTrailerFields
-
Methods inherited from class jakarta.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 jakarta.servlet.ServletResponse
getBufferSize, getCharacterEncoding, getContentType, getLocale, resetBuffer, setBufferSize, setCharacterEncoding, setContentType, setLocale
-
-
-
-
Constructor Detail
-
GzipHttpServletResponse
public GzipHttpServletResponse(HttpServletResponse wrapped, int threshold, Set<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 interfaceServletResponse
- Overrides:
setContentLength
in classServletResponseWrapper
-
setContentLengthLong
public void setContentLengthLong(long contentLength)
- Specified by:
setContentLengthLong
in interfaceServletResponse
- Overrides:
setContentLengthLong
in classServletResponseWrapper
-
setHeader
public void setHeader(String name, String value)
- Specified by:
setHeader
in interfaceHttpServletResponse
- Overrides:
setHeader
in classHttpServletResponseWrapper
-
addHeader
public void addHeader(String name, String value)
- Specified by:
addHeader
in interfaceHttpServletResponse
- Overrides:
addHeader
in classHttpServletResponseWrapper
-
flushBuffer
public void flushBuffer() throws IOException
- Specified by:
flushBuffer
in interfaceServletResponse
- Overrides:
flushBuffer
in classHttpServletResponseOutputWrapper
- Throws:
IOException
-
reset
public void reset()
- Specified by:
reset
in interfaceServletResponse
- Overrides:
reset
in classHttpServletResponseOutputWrapper
-
close
public void close() throws IOException
Description copied from class:HttpServletResponseOutputWrapper
Close the response body. This closes any created writer or output stream.- Overrides:
close
in classHttpServletResponseOutputWrapper
- Throws:
IOException
- When an I/O error occurs.
-
createOutputStream
protected OutputStream createOutputStream()
Description copied from class:HttpServletResponseOutputWrapper
Returns the custom implementation of the servlet responseOutputStream
.- Specified by:
createOutputStream
in classHttpServletResponseOutputWrapper
- Returns:
- The custom implementation of the servlet response
OutputStream
.
-
-