Class HttpServletResponseWrapper

  • All Implemented Interfaces:
    HttpServletResponse, ServletResponse

    public class HttpServletResponseWrapper
    extends ServletResponseWrapper
    implements HttpServletResponse
    Provides a convenient implementation of the HttpServletResponse interface that can be subclassed by developers wishing to adapt the response from a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object.
    Since:
    v 2.3
    See Also:
    HttpServletResponse
    • Constructor Detail

      • HttpServletResponseWrapper

        public HttpServletResponseWrapper​(HttpServletResponse response)
        Constructs a response adaptor wrapping the given response.
        Parameters:
        response - The response to be wrapped
        Throws:
        java.lang.IllegalArgumentException - if the response is null
    • Method Detail

      • addCookie

        public void addCookie​(Cookie cookie)
        The default behavior of this method is to call addCookie(Cookie cookie) on the wrapped response object.
        Specified by:
        addCookie in interface HttpServletResponse
        Parameters:
        cookie - the Cookie to return to the client
      • containsHeader

        public boolean containsHeader​(java.lang.String name)
        The default behavior of this method is to call containsHeader(String name) on the wrapped response object.
        Specified by:
        containsHeader in interface HttpServletResponse
        Parameters:
        name - the header name
        Returns:
        true if the named response header has already been set; false otherwise
      • encodeURL

        public java.lang.String encodeURL​(java.lang.String url)
        The default behavior of this method is to call encodeURL(String url) on the wrapped response object.
        Specified by:
        encodeURL in interface HttpServletResponse
        Parameters:
        url - the url to be encoded.
        Returns:
        the encoded URL if encoding is needed; the unchanged URL otherwise.
      • encodeUrl

        @Deprecated
        public java.lang.String encodeUrl​(java.lang.String url)
        Deprecated.
        As of Version 3.0 of the Java Servlet API
        The default behavior of this method is to call encodeUrl(String url) on the wrapped response object.
        Specified by:
        encodeUrl in interface HttpServletResponse
        Parameters:
        url - the url to be encoded.
        Returns:
        the encoded URL if encoding is needed; the unchanged URL otherwise.
      • encodeRedirectUrl

        @Deprecated
        public java.lang.String encodeRedirectUrl​(java.lang.String url)
        Deprecated.
        As of Version 3.0 of the Java Servlet API
        The default behavior of this method is to return encodeRedirectUrl(String url) on the wrapped response object.
        Specified by:
        encodeRedirectUrl in interface HttpServletResponse
        Parameters:
        url - the url to be encoded.
        Returns:
        the encoded URL if encoding is needed; the unchanged URL otherwise.
      • sendError

        public void sendError​(int sc,
                              java.lang.String msg)
                       throws java.io.IOException
        The default behavior of this method is to call sendError(int sc, String msg) on the wrapped response object.
        Specified by:
        sendError in interface HttpServletResponse
        Parameters:
        sc - the error status code
        msg - the descriptive message
        Throws:
        java.io.IOException - If an input or output exception occurs
      • sendError

        public void sendError​(int sc)
                       throws java.io.IOException
        The default behavior of this method is to call sendError(int sc) on the wrapped response object.
        Specified by:
        sendError in interface HttpServletResponse
        Parameters:
        sc - the error status code
        Throws:
        java.io.IOException - If an input or output exception occurs
      • sendRedirect

        public void sendRedirect​(java.lang.String location)
                          throws java.io.IOException
        The default behavior of this method is to return sendRedirect(String location) on the wrapped response object.
        Specified by:
        sendRedirect in interface HttpServletResponse
        Parameters:
        location - the redirect location URL
        Throws:
        java.io.IOException - If an input or output exception occurs
      • addHeader

        public void addHeader​(java.lang.String name,
                              java.lang.String value)
        The default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.
        Specified by:
        addHeader in interface HttpServletResponse
        Parameters:
        name - the name of the header
        value - the additional header value If it contains octet string, it should be encoded according to RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)
        See Also:
        HttpServletResponse.setHeader(java.lang.String, java.lang.String)
      • setStatus

        @Deprecated
        public void setStatus​(int sc,
                              java.lang.String sm)
        Deprecated.
        As of Version 3.0 of the Java Servlet API
        The default behavior of this method is to call setStatus(int sc, String sm) on the wrapped response object.
        Specified by:
        setStatus in interface HttpServletResponse
        Parameters:
        sc - the status code
        sm - the status message
      • getHeader

        public java.lang.String getHeader​(java.lang.String name)
        Return the value for the specified header, or null if this header has not been set. If more than one value was added for this name, only the first is returned; use HttpServletResponse.getHeaders(String) to retrieve all of them.

        The default implementation is to call HttpServletResponse.getHeader(String) on the wrapped HttpServletResponse.

        Specified by:
        getHeader in interface HttpServletResponse
        Parameters:
        name - Header name to look up
        Returns:
        The first value for the specified header. This is the raw value so if multiple values are specified in the first header then they will be returned as a single header value .
        Since:
        Servlet 3.0
      • getHeaders

        public java.util.Collection<java.lang.String> getHeaders​(java.lang.String name)
        Return a Collection of all the header values associated with the specified header name.

        The default implementation is to call HttpServletResponse.getHeaders(String) on the wrapped HttpServletResponse.

        Specified by:
        getHeaders in interface HttpServletResponse
        Parameters:
        name - Header name to look up
        Returns:
        The values for the specified header. These are the raw values so if multiple values are specified in a single header that will be returned as a single header value.
        Since:
        Servlet 3.0
      • setTrailerFields

        public void setTrailerFields​(java.util.function.Supplier<java.util.Map<java.lang.String,​java.lang.String>> supplier)
        Configure the supplier of the trailer headers. The supplier will be called in the scope of the thread that completes the response.
        Trailers that don't meet the requirements of RFC 7230, section 4.1.2 will be ignored.
        The default implementation is a NO-OP.

        The default implementation is to call HttpServletResponse.setTrailerFields(Supplier) on the wrapped HttpServletResponse.

        Specified by:
        setTrailerFields in interface HttpServletResponse
        Parameters:
        supplier - The supplier for the trailer headers
        Since:
        Servlet 4.0