Class Response

  • All Implemented Interfaces:
    javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

    public class Response
    extends java.lang.Object
    implements javax.servlet.http.HttpServletResponse

    Response provides the implementation for HttpServletResponse.

    • Method Detail

      • recycle

        protected void recycle()
      • getHttpOutput

        public HttpOutput getHttpOutput()
      • reopen

        public void reopen()
      • errorClose

        public void errorClose()
      • isIncluding

        public boolean isIncluding()
      • include

        public void include()
      • included

        public void included()
      • addCookie

        public void addCookie​(HttpCookie cookie)
      • replaceCookie

        public void replaceCookie​(HttpCookie cookie)
        Replace (or add) a cookie. Using name, path and domain, look for a matching set-cookie header and replace it.
        Parameters:
        cookie - The cookie to add/replace
      • addCookie

        public void addCookie​(javax.servlet.http.Cookie cookie)
        Specified by:
        addCookie in interface javax.servlet.http.HttpServletResponse
      • containsHeader

        public boolean containsHeader​(java.lang.String name)
        Specified by:
        containsHeader in interface javax.servlet.http.HttpServletResponse
      • encodeURL

        public java.lang.String encodeURL​(java.lang.String url)
        Specified by:
        encodeURL in interface javax.servlet.http.HttpServletResponse
      • encodeRedirectURL

        public java.lang.String encodeRedirectURL​(java.lang.String url)
        Specified by:
        encodeRedirectURL in interface javax.servlet.http.HttpServletResponse
      • encodeUrl

        @Deprecated
        public java.lang.String encodeUrl​(java.lang.String url)
        Deprecated.
        Specified by:
        encodeUrl in interface javax.servlet.http.HttpServletResponse
      • encodeRedirectUrl

        @Deprecated
        public java.lang.String encodeRedirectUrl​(java.lang.String url)
        Deprecated.
        Specified by:
        encodeRedirectUrl in interface javax.servlet.http.HttpServletResponse
      • sendError

        public void sendError​(int sc)
                       throws java.io.IOException
        Specified by:
        sendError in interface javax.servlet.http.HttpServletResponse
        Throws:
        java.io.IOException
      • sendError

        public void sendError​(int code,
                              java.lang.String message)
                       throws java.io.IOException
        Send an error response.

        In addition to the servlet standard handling, this method supports some additional codes:

        102
        Send a partial PROCESSING response and allow additional responses
        -1
        Abort the HttpChannel and close the connection/stream
        Specified by:
        sendError in interface javax.servlet.http.HttpServletResponse
        Parameters:
        code - The error code
        message - The message
        Throws:
        java.io.IOException - If an IO problem occurred sending the error response.
      • sendProcessing

        public void sendProcessing()
                            throws java.io.IOException
        Sends a 102-Processing response. If the connection is an HTTP connection, the version is 1.1 and the request has a Expect header starting with 102, then a 102 response is sent. This indicates that the request still be processed and real response can still be sent. This method is called by sendError if it is passed 102.
        Throws:
        java.io.IOException - if unable to send the 102 response
        See Also:
        HttpServletResponse.sendError(int)
      • sendRedirect

        public void sendRedirect​(int code,
                                 java.lang.String location)
                          throws java.io.IOException
        Sends a response with one of the 300 series redirection codes.
        Parameters:
        code - the redirect status code
        location - the location to send in Location headers
        Throws:
        java.io.IOException - if unable to send the redirect
      • sendRedirect

        public void sendRedirect​(java.lang.String location,
                                 boolean consumeAll)
                          throws java.io.IOException
        Sends a response with a HTTP version appropriate 30x redirection.
        Parameters:
        location - the location to send in Location headers
        consumeAll - if True, consume any HTTP/1 request input before doing the redirection. If the input cannot be consumed without blocking, then add a `Connection: close` header to the response.
        Throws:
        java.io.IOException - if unable to send the redirect
      • sendRedirect

        public void sendRedirect​(int code,
                                 java.lang.String location,
                                 boolean consumeAll)
                          throws java.io.IOException
        Sends a response with a given redirection code.
        Parameters:
        code - the redirect status code
        location - the location to send in Location headers
        consumeAll - if True, consume any HTTP/1 request input before doing the redirection. If the input cannot be consumed without blocking, then add a `Connection: close` header to the response.
        Throws:
        java.io.IOException - if unable to send the redirect
      • sendRedirect

        public void sendRedirect​(java.lang.String location)
                          throws java.io.IOException
        Specified by:
        sendRedirect in interface javax.servlet.http.HttpServletResponse
        Throws:
        java.io.IOException
      • setDateHeader

        public void setDateHeader​(java.lang.String name,
                                  long date)
        Specified by:
        setDateHeader in interface javax.servlet.http.HttpServletResponse
      • addDateHeader

        public void addDateHeader​(java.lang.String name,
                                  long date)
        Specified by:
        addDateHeader in interface javax.servlet.http.HttpServletResponse
      • setHeader

        public void setHeader​(HttpHeader name,
                              java.lang.String value)
      • setHeader

        public void setHeader​(java.lang.String name,
                              java.lang.String value)
        Specified by:
        setHeader in interface javax.servlet.http.HttpServletResponse
      • getHeaderNames

        public java.util.Collection<java.lang.String> getHeaderNames()
        Specified by:
        getHeaderNames in interface javax.servlet.http.HttpServletResponse
      • getHeader

        public java.lang.String getHeader​(java.lang.String name)
        Specified by:
        getHeader in interface javax.servlet.http.HttpServletResponse
      • getHeaders

        public java.util.Collection<java.lang.String> getHeaders​(java.lang.String name)
        Specified by:
        getHeaders in interface javax.servlet.http.HttpServletResponse
      • addHeader

        public void addHeader​(java.lang.String name,
                              java.lang.String value)
        Specified by:
        addHeader in interface javax.servlet.http.HttpServletResponse
      • setIntHeader

        public void setIntHeader​(java.lang.String name,
                                 int value)
        Specified by:
        setIntHeader in interface javax.servlet.http.HttpServletResponse
      • addIntHeader

        public void addIntHeader​(java.lang.String name,
                                 int value)
        Specified by:
        addIntHeader in interface javax.servlet.http.HttpServletResponse
      • setStatus

        public void setStatus​(int sc)
        Specified by:
        setStatus in interface javax.servlet.http.HttpServletResponse
      • setStatus

        @Deprecated
        public void setStatus​(int sc,
                              java.lang.String sm)
        Deprecated.
        Specified by:
        setStatus in interface javax.servlet.http.HttpServletResponse
      • setStatusWithReason

        public void setStatusWithReason​(int sc,
                                        java.lang.String sm)
      • getCharacterEncoding

        public java.lang.String getCharacterEncoding()
        Specified by:
        getCharacterEncoding in interface javax.servlet.ServletResponse
      • getContentType

        public java.lang.String getContentType()
        Specified by:
        getContentType in interface javax.servlet.ServletResponse
      • getOutputStream

        public javax.servlet.ServletOutputStream getOutputStream()
                                                          throws java.io.IOException
        Specified by:
        getOutputStream in interface javax.servlet.ServletResponse
        Throws:
        java.io.IOException
      • isWriting

        public boolean isWriting()
      • isStreaming

        public boolean isStreaming()
      • isWritingOrStreaming

        public boolean isWritingOrStreaming()
      • getWriter

        public java.io.PrintWriter getWriter()
                                      throws java.io.IOException
        Specified by:
        getWriter in interface javax.servlet.ServletResponse
        Throws:
        java.io.IOException
      • setContentLength

        public void setContentLength​(int len)
        Specified by:
        setContentLength in interface javax.servlet.ServletResponse
      • getContentLength

        public long getContentLength()
      • isAllContentWritten

        public boolean isAllContentWritten​(long written)
      • isContentComplete

        public boolean isContentComplete​(long written)
      • closeOutput

        public void closeOutput()
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • completeOutput

        @Deprecated
        public void completeOutput()
                            throws java.io.IOException
        Deprecated.
        close the output
        Throws:
        java.io.IOException
      • completeOutput

        public void completeOutput​(Callback callback)
      • getLongContentLength

        public long getLongContentLength()
      • setLongContentLength

        public void setLongContentLength​(long len)
      • setContentLengthLong

        public void setContentLengthLong​(long length)
        Specified by:
        setContentLengthLong in interface javax.servlet.ServletResponse
      • setCharacterEncoding

        public void setCharacterEncoding​(java.lang.String encoding)
        Specified by:
        setCharacterEncoding in interface javax.servlet.ServletResponse
      • setContentType

        public void setContentType​(java.lang.String contentType)
        Specified by:
        setContentType in interface javax.servlet.ServletResponse
      • setBufferSize

        public void setBufferSize​(int size)
        Specified by:
        setBufferSize in interface javax.servlet.ServletResponse
      • getBufferSize

        public int getBufferSize()
        Specified by:
        getBufferSize in interface javax.servlet.ServletResponse
      • flushBuffer

        public void flushBuffer()
                         throws java.io.IOException
        Specified by:
        flushBuffer in interface javax.servlet.ServletResponse
        Throws:
        java.io.IOException
      • reset

        public void reset()
        Specified by:
        reset in interface javax.servlet.ServletResponse
      • resetContent

        public void resetContent()
      • resetForForward

        public void resetForForward()
      • resetBuffer

        public void resetBuffer()
        Specified by:
        resetBuffer in interface javax.servlet.ServletResponse
      • setTrailers

        public void setTrailers​(java.util.function.Supplier<HttpFields> trailers)
      • getTrailers

        public java.util.function.Supplier<HttpFields> getTrailers()
      • getCommittedMetaData

        public MetaData.Response getCommittedMetaData()
        Get the MetaData.Response committed for this response. This may differ from the meta data in this response for exceptional responses (eg 4xx and 5xx responses generated by the container) and the committedMetaData should be used for logging purposes.
        Returns:
        The committed MetaData or a newResponseMetaData() if not yet committed.
      • isCommitted

        public boolean isCommitted()
        Specified by:
        isCommitted in interface javax.servlet.ServletResponse
      • setLocale

        public void setLocale​(java.util.Locale locale)
        Specified by:
        setLocale in interface javax.servlet.ServletResponse
      • getLocale

        public java.util.Locale getLocale()
        Specified by:
        getLocale in interface javax.servlet.ServletResponse
      • getStatus

        public int getStatus()
        Specified by:
        getStatus in interface javax.servlet.http.HttpServletResponse
      • getReason

        public java.lang.String getReason()
      • getHttpFields

        public HttpFields getHttpFields()
      • getContentCount

        public long getContentCount()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • putHeaders

        public void putHeaders​(HttpContent content,
                               long contentLength,
                               boolean etag)
      • putHeaders

        public static void putHeaders​(javax.servlet.http.HttpServletResponse response,
                                      HttpContent content,
                                      long contentLength,
                                      boolean etag)
      • unwrap

        public static javax.servlet.http.HttpServletResponse unwrap​(javax.servlet.ServletResponse servletResponse)