- java.lang.Object
-
- jakarta.servlet.ServletResponseWrapper
-
- jakarta.servlet.http.HttpServletResponseWrapper
-
- org.omnifaces.servlet.HttpServletResponseOutputWrapper
-
- org.omnifaces.servlet.CompressedHttpServletResponse
-
- All Implemented Interfaces:
HttpServletResponse,ServletResponse
public class CompressedHttpServletResponse extends HttpServletResponseOutputWrapper
This HTTP servlet response wrapper will compress the response with the given algorithm when the given threshold has exceeded and the response content type matches one of the given mimetypes.- Since:
- 4.5
- Author:
- Bauke Scholtz
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCompressedHttpServletResponse.AlgorithmAvailable compression algorithms.
-
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 CompressedHttpServletResponse(HttpServletResponse response, CompressedHttpServletResponse.Algorithm algorithm, int threshold, Set<String> mimetypes)Construct a new compressed HTTP servlet response based on the given response, algorithm, threshold and mimetypes.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddHeader(String name, String value)voidclose()Close the response body.protected OutputStreamcreateOutputStream()Returns the custom implementation of the servlet responseOutputStream.voidflushBuffer()voidreset()voidsetContentLength(int contentLength)voidsetContentLengthLong(long contentLength)voidsetHeader(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
-
CompressedHttpServletResponse
public CompressedHttpServletResponse(HttpServletResponse response, CompressedHttpServletResponse.Algorithm algorithm, int threshold, Set<String> mimetypes)
Construct a new compressed HTTP servlet response based on the given response, algorithm, threshold and mimetypes.- Parameters:
response- The HTTP servlet response.algorithm- The compression algorithm to use.threshold- The compression buffer threshold.mimetypes- The mimetypes which needs to be compressed.
-
-
Method Detail
-
setContentLength
public void setContentLength(int contentLength)
- Specified by:
setContentLengthin interfaceServletResponse- Overrides:
setContentLengthin classServletResponseWrapper
-
setContentLengthLong
public void setContentLengthLong(long contentLength)
- Specified by:
setContentLengthLongin interfaceServletResponse- Overrides:
setContentLengthLongin classServletResponseWrapper
-
setHeader
public void setHeader(String name, String value)
- Specified by:
setHeaderin interfaceHttpServletResponse- Overrides:
setHeaderin classHttpServletResponseWrapper
-
addHeader
public void addHeader(String name, String value)
- Specified by:
addHeaderin interfaceHttpServletResponse- Overrides:
addHeaderin classHttpServletResponseWrapper
-
flushBuffer
public void flushBuffer() throws IOException- Specified by:
flushBufferin interfaceServletResponse- Overrides:
flushBufferin classHttpServletResponseOutputWrapper- Throws:
IOException
-
reset
public void reset()
- Specified by:
resetin interfaceServletResponse- Overrides:
resetin classHttpServletResponseOutputWrapper
-
close
public void close() throws IOExceptionDescription copied from class:HttpServletResponseOutputWrapperClose the response body. This closes any created writer or output stream.- Overrides:
closein classHttpServletResponseOutputWrapper- Throws:
IOException- When an I/O error occurs.
-
createOutputStream
protected OutputStream createOutputStream()
Description copied from class:HttpServletResponseOutputWrapperReturns the custom implementation of the servlet responseOutputStream.- Specified by:
createOutputStreamin classHttpServletResponseOutputWrapper- Returns:
- The custom implementation of the servlet response
OutputStream.
-
-