- 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 class
CompressedHttpServletResponse.Algorithm
Available 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 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
-
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:
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
.
-
-