Class GzipHttpServletResponse

java.lang.Object
jakarta.servlet.ServletResponseWrapper
jakarta.servlet.http.HttpServletResponseWrapper
org.openremote.container.web.file.HttpServletResponseOutputWrapper
org.openremote.container.web.file.GzipHttpServletResponse
All Implemented Interfaces:
jakarta.servlet.http.HttpServletResponse, jakarta.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
  • 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(jakarta.servlet.http.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

    Modifier and Type
    Method
    Description
    void
    addHeader(String name, String value)
     
    void
    Close the response body.
    protected OutputStream
    Returns the custom implementation of the servlet response OutputStream.
    void
     
    static <T> boolean
    isOneOf(T object, T... objects)
    Returns true if the given object equals one of the given objects.
    void
     
    void
    setContentLength(int contentLength)
     
    void
    setContentLengthLong(long contentLength)
     
    void
    setHeader(String name, String value)
     

    Methods inherited from class org.openremote.container.web.file.HttpServletResponseOutputWrapper

    getOutputStream, getWriter, isCommitted, isPassThrough, setPassThrough

    Methods inherited from class jakarta.servlet.http.HttpServletResponseWrapper

    addCookie, addDateHeader, addIntHeader, containsHeader, encodeRedirectURL, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, sendError, sendError, sendRedirect, setDateHeader, setIntHeader, 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 Details

    • GzipHttpServletResponse

      public GzipHttpServletResponse(jakarta.servlet.http.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 Details

    • setContentLength

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

      public void setContentLengthLong(long contentLength)
      Specified by:
      setContentLengthLong in interface jakarta.servlet.ServletResponse
      Overrides:
      setContentLengthLong in class jakarta.servlet.ServletResponseWrapper
    • setHeader

      public void setHeader(String name, String value)
      Specified by:
      setHeader in interface jakarta.servlet.http.HttpServletResponse
      Overrides:
      setHeader in class jakarta.servlet.http.HttpServletResponseWrapper
    • addHeader

      public void addHeader(String name, String value)
      Specified by:
      addHeader in interface jakarta.servlet.http.HttpServletResponse
      Overrides:
      addHeader in class jakarta.servlet.http.HttpServletResponseWrapper
    • flushBuffer

      public void flushBuffer() throws IOException
      Specified by:
      flushBuffer in interface jakarta.servlet.ServletResponse
      Overrides:
      flushBuffer in class HttpServletResponseOutputWrapper
      Throws:
      IOException
    • reset

      public void reset()
      Specified by:
      reset in interface jakarta.servlet.ServletResponse
      Overrides:
      reset in class HttpServletResponseOutputWrapper
    • 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 class HttpServletResponseOutputWrapper
      Throws:
      IOException - When an I/O error occurs.
    • createOutputStream

      protected 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.
    • isOneOf

      @SafeVarargs public static <T> boolean isOneOf(T object, T... objects)
      Returns true if the given object equals one of the given objects.
      Type Parameters:
      T - The generic object type.
      Parameters:
      object - The object to be checked if it equals one of the given objects.
      objects - The argument list of objects to be tested for equality.
      Returns:
      true if the given object equals one of the given objects.