Class CmsStaticExportResponseWrapper

java.lang.Object
jakarta.servlet.ServletResponseWrapper
jakarta.servlet.http.HttpServletResponseWrapper
org.opencms.staticexport.CmsStaticExportResponseWrapper
All Implemented Interfaces:
jakarta.servlet.http.HttpServletResponse, jakarta.servlet.ServletResponse

public class CmsStaticExportResponseWrapper extends jakarta.servlet.http.HttpServletResponseWrapper
Response wrapper for static export requests, required to access the status code of the response.

The I_CmsResourceLoader.export(org.opencms.file.CmsObject, org.opencms.file.CmsResource, jakarta.servlet.http.HttpServletRequest, HttpServletResponse) method is called by the static export manager. Many implementations set the http status codes for the response. This wrapper enables the export manager to return the status code set on the response in CmsStaticExportManager.export(jakarta.servlet.http.HttpServletRequest, HttpServletResponse, org.opencms.file.CmsObject, CmsStaticExportData).

Since:
6.0.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected int
    The status code.

    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
    CmsStaticExportResponseWrapper(jakarta.servlet.http.HttpServletResponse res)
    Creates a new export response wrapper.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addHeader(String name, String value)
     
    void
    Enforces the given Cache-Control value for this response.
    int
    Returns the status code of this export response, if no status code was set so far, -1 is returned.
    void
     
    void
    sendError(int status)
     
    void
    sendError(int status, String message)
     
    void
    setHeader(String name, String value)
     
    void
    setStatus(int status)
     

    Methods inherited from class jakarta.servlet.http.HttpServletResponseWrapper

    addCookie, addDateHeader, addIntHeader, containsHeader, encodeRedirectURL, encodeURL, getHeader, getHeaderNames, getHeaders, getTrailerFields, sendRedirect, setDateHeader, setIntHeader, setTrailerFields

    Methods inherited from class jakarta.servlet.ServletResponseWrapper

    flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getResponse, getWriter, isCommitted, isWrapperFor, isWrapperFor, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, 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

    flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getWriter, isCommitted, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale
  • Field Details

    • m_status

      protected int m_status
      The status code.
  • Constructor Details

    • CmsStaticExportResponseWrapper

      public CmsStaticExportResponseWrapper(jakarta.servlet.http.HttpServletResponse res)
      Creates a new export response wrapper.

      Parameters:
      res - the original response to wrap
  • Method Details

    • 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
      See Also:
      • HttpServletResponseWrapper.addHeader(java.lang.String, java.lang.String)
    • enforceCacheControl

      public void enforceCacheControl(String cacheControl)
      Enforces the given Cache-Control value for this response.

      Later attempts by a resource loader to replace or add Cache-Control headers retain this value. If this method is not called, the wrapper keeps its classic behavior and delegates all header changes unchanged.

      Parameters:
      cacheControl - the Cache-Control value to enforce
    • getStatus

      public int getStatus()
      Returns the status code of this export response, if no status code was set so far, -1 is returned.

      Specified by:
      getStatus in interface jakarta.servlet.http.HttpServletResponse
      Overrides:
      getStatus in class jakarta.servlet.http.HttpServletResponseWrapper
      Returns:
      the status code of this export response
    • reset

      public void reset()
      Specified by:
      reset in interface jakarta.servlet.ServletResponse
      Overrides:
      reset in class jakarta.servlet.ServletResponseWrapper
      See Also:
      • ServletResponseWrapper.reset()
    • sendError

      public void sendError(int status) throws IOException
      Specified by:
      sendError in interface jakarta.servlet.http.HttpServletResponse
      Overrides:
      sendError in class jakarta.servlet.http.HttpServletResponseWrapper
      Throws:
      IOException
      See Also:
      • HttpServletResponse.sendError(int)
    • sendError

      public void sendError(int status, String message) throws IOException
      Specified by:
      sendError in interface jakarta.servlet.http.HttpServletResponse
      Overrides:
      sendError in class jakarta.servlet.http.HttpServletResponseWrapper
      Throws:
      IOException
      See Also:
      • HttpServletResponse.sendError(int, java.lang.String)
    • 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
      See Also:
      • HttpServletResponseWrapper.setHeader(java.lang.String, java.lang.String)
    • setStatus

      public void setStatus(int status)
      Specified by:
      setStatus in interface jakarta.servlet.http.HttpServletResponse
      Overrides:
      setStatus in class jakarta.servlet.http.HttpServletResponseWrapper
      See Also:
      • HttpServletResponseWrapper.setStatus(int)