Class Response


  • public class Response
    extends Object
    Wrapper object for the Coyote response.
    Version:
    $Revision: 1.2 $ $Date: 2006/11/02 20:01:44 $
    Author:
    Remy Maucherat, Craig R. McClanahan
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean appCommitted
      The application commit flag.
      protected org.glassfish.grizzly.filterchain.FilterChainContext ctx
      Grizzly FilterChain context, related to this HTTP request/response
      protected org.glassfish.grizzly.utils.DelayedExecutor.DelayQueue<Response.SuspendTimeout> delayQueue  
      protected boolean error
      The error flag.
      protected SimpleDateFormat format
      The date format we will use for creating date headers.
      protected org.glassfish.grizzly.http.HttpContext httpContext
      Grizzly HttpContext associated with the current Request/Response processing.
      protected static String info
      Descriptive information about this Response implementation.
      protected ServerOutputBuffer outputBuffer
      The associated output buffer.
      protected org.glassfish.grizzly.http.util.CharChunk redirectURLCC
      Recyclable buffer to hold the redirect URL.
      protected Request request
      The request with which this response is associated.
      protected org.glassfish.grizzly.http.HttpResponsePacket response
      Coyote response.
      protected org.glassfish.grizzly.http.util.UEncoder urlEncoder
      URL encoder.
      protected boolean usingOutputStream
      Using output stream flag.
      protected boolean usingWriter
      Using writer flag.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected Response()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void addCookie​(org.glassfish.grizzly.http.Cookie cookie)
      Add the specified Cookie to those that will be included with this Response.
      void addDateHeader​(String name, long value)
      Add the specified date header to the specified value.
      void addDateHeader​(org.glassfish.grizzly.http.util.Header header, long value)
      Add the specified date header to the specified value.
      void addHeader​(String name, String value)
      Add the specified header to the specified value.
      void addHeader​(String name, org.glassfish.grizzly.http.util.HeaderValue value)
      Add the specified header to the specified value.
      void addHeader​(org.glassfish.grizzly.http.util.Header header, String value)
      Add the specified header to the specified value.
      void addHeader​(org.glassfish.grizzly.http.util.Header header, org.glassfish.grizzly.http.util.HeaderValue value)
      Add the specified header to the specified value.
      void addIntHeader​(String name, int value)
      Add the specified integer header to the specified value.
      void addIntHeader​(org.glassfish.grizzly.http.util.Header header, int value)
      Add the specified integer header to the specified value.
      protected void addSessionCookieInternal​(org.glassfish.grizzly.http.Cookie cookie)
      Special method for adding a session cookie as we should be overriding any previous
      void cancel()
      Deprecated.
      pls.
      boolean containsHeader​(String name)
      Has the specified header been set already in this response?
      boolean containsHeader​(org.glassfish.grizzly.http.util.Header header)
      Has the specified header been set already in this response?
      org.glassfish.grizzly.http.io.NIOOutputStream createOutputStream()
      Create and return a ServletOutputStream to write the content associated with this Response.
      String encodeRedirectURL​(String url)
      Encode the session identifier associated with this response into the specified redirect URL, if necessary.
      String encodeURL​(String url)
      Encode the session identifier associated with this response into the specified URL, if necessary.
      static String filter​(String message)
      Filter the specified message string for characters that are sensitive in HTML.
      void finish()
      Perform whatever actions are required to flush and close the output stream or writer, in a single operation.
      void flush()
      Flush the current buffered content to the network.
      int getBufferSize()
      Return the actual buffer size used for this Response.
      String getCharacterEncoding()
      Return the character encoding used for this Response.
      int getContentLength()
      Return the content length that was set or calculated for this Response.
      long getContentLengthLong()
      Return the content length that was set or calculated for this Response.
      String getContentType()
      Return the content type that was set or calculated for this response, or null if no content type was set.
      org.glassfish.grizzly.http.Cookie[] getCookies()
      Return an array of all cookies set for this response, or a zero-length array if no cookies have been set.
      String getDetailMessage()
      Gets detail error message.
      ErrorPageGenerator getErrorPageGenerator()  
      String getHeader​(String name)
      Return the value for the specified header, or null if this header has not been set.
      String[] getHeaderNames()
      Return an array of all the header names set for this response, or a zero-length array if no headers have been set.
      String[] getHeaderValues​(String name)
      Return an array of all the header values associated with the specified header name, or an zero-length array if there are no such header values.
      String getInfo()
      Return descriptive information about this Response implementation and the corresponding version number, in the format <description>/<version>.
      Locale getLocale()
      Return the Locale assigned to this response.
      String getMessage()
      Return the error message that was set with sendError() for this Response.
      org.glassfish.grizzly.http.io.NIOOutputStream getNIOOutputStream()
      Return the NIOOutputStream associated with this Response.
      org.glassfish.grizzly.http.io.NIOWriter getNIOWriter()
      Return the NIOWriter associated with this Response.
      org.glassfish.grizzly.http.io.OutputBuffer getOutputBuffer()  
      OutputStream getOutputStream()
      Return the OutputStream associated with this Response.
      Request getRequest()
      Return the Request with which this Response is associated.
      org.glassfish.grizzly.http.HttpResponsePacket getResponse()
      Get the HttpResponsePacket.
      int getStatus()
      Return the HTTP status code associated with this Response.
      SuspendContext getSuspendContext()
      Get the context of the suspended Response.
      Supplier<Map<String,​String>> getTrailers()  
      Writer getWriter()
      Return the NIOWriter associated with this Response.
      void initialize​(Request request, org.glassfish.grizzly.http.HttpResponsePacket response, org.glassfish.grizzly.filterchain.FilterChainContext ctx, org.glassfish.grizzly.utils.DelayedExecutor.DelayQueue<Response.SuspendTimeout> delayQueue, HttpServerFilter serverFilter)  
      boolean isCacheEnabled()
      Is the file cache enabled?
      boolean isCommitted()
      Has the output of this response already been committed?
      protected boolean isEncodeable​(String location)
      Return true if the specified URL should be encoded with a session identifier.
      boolean isError()
      Error flag accessor.
      boolean isSendFileEnabled()  
      boolean isSuspended()
      Return true if that suspend() has been invoked and set to true
      protected void recycle()
      Release all object references, and initialize instance variables, in preparation for reuse of this object.
      protected void removeSessionCookies()
      Removes any Set-Cookie response headers whose value contains the string "JSESSIONID=" or "JSESSIONIDSSO="
      void reset()
      Clears any data that exists in the buffer as well as the status code and headers.
      void reset​(int status, String message)
      Reset this response, and specify the values for the HTTP status code and corresponding message.
      void resetBuffer()
      Reset the data buffer but not any status or header information.
      void resetBuffer​(boolean resetWriterStreamFlags)
      Reset the data buffer and the using Writer/Stream flags but not any status or header information.
      void resume()
      Complete the Response and finish/commit it.
      void sendAcknowledgement()
      Send an acknowledgment of a request.
      void sendError​(int status)
      Send an error response with the specified status and a default message.
      void sendError​(int status, String message)
      Send an error response with the specified status and message.
      void sendRedirect​(String location)
      Send a temporary redirect to the specified redirect location URL.
      void setBufferSize​(int size)
      Set the buffer size to be used for this Response.
      void setCharacterEncoding​(String charset)  
      void setContentLength​(int length)
      Set the content length (in bytes) for this Response.
      void setContentLengthLong​(long length)
      Set the content length (in bytes) for this Response.
      void setContentType​(String type)
      Set the content type for this Response.
      void setContentType​(org.glassfish.grizzly.http.util.ContentType type)
      Set the content type for this Response.
      void setDateHeader​(String name, long value)
      Set the specified date header to the specified value.
      void setDateHeader​(org.glassfish.grizzly.http.util.Header header, long value)
      Set the specified date header to the specified value.
      void setDetailMessage​(String message)
      Sets detail error message.
      void setError()
      Set the error flag.
      void setErrorPageGenerator​(ErrorPageGenerator errorPageGenerator)
      void setHeader​(String name, String value)
      Set the specified header to the specified value.
      void setHeader​(String name, org.glassfish.grizzly.http.util.HeaderValue value)
      Set the specified header to the specified value.
      void setHeader​(org.glassfish.grizzly.http.util.Header header, String value)
      Set the specified header to the specified value.
      void setHeader​(org.glassfish.grizzly.http.util.Header header, org.glassfish.grizzly.http.util.HeaderValue value)
      Set the specified header to the specified value.
      void setIntHeader​(String name, int value)
      Set the specified integer header to the specified value.
      void setIntHeader​(org.glassfish.grizzly.http.util.Header header, int value)
      Set the specified integer header to the specified value.
      void setLocale​(Locale locale)
      Set the Locale that is appropriate for this response, including setting the appropriate character encoding.
      void setStatus​(int status)
      Set the HTTP status to be returned with this response.
      void setStatus​(int status, String message)
      Set the HTTP status and message to be returned with this response.
      void setStatus​(org.glassfish.grizzly.http.util.HttpStatus status)
      Set the HTTP status and message to be returned with this response.
      void setTrailers​(Supplier<Map<String,​String>> trailerSupplier)
      Set the supplier of trailer headers.
      void suspend()
      Suspend the Response.
      void suspend​(long timeout, TimeUnit timeunit)
      Deprecated.
      timeout parameters don't make any sense without CompletionHandler
      void suspend​(long timeout, TimeUnit timeunit, org.glassfish.grizzly.CompletionHandler<Response> completionHandler)
      Suspend the Response.
      void suspend​(long timeout, TimeUnit timeunit, org.glassfish.grizzly.CompletionHandler<Response> completionHandler, TimeoutHandler timeoutHandler)
      Suspend the Response.
      protected String toAbsolute​(String location, boolean normalize)
      Convert (if necessary) and return the absolute URL that represents the resource referenced by this possibly relative URL.
      protected String toEncoded​(String url, String sessionId)
      Return the specified URL with the specified session identifier suitably encoded.
    • Field Detail

      • format

        protected SimpleDateFormat format
        The date format we will use for creating date headers.
      • request

        protected Request request
        The request with which this response is associated.
      • response

        protected org.glassfish.grizzly.http.HttpResponsePacket response
        Coyote response.
      • ctx

        protected org.glassfish.grizzly.filterchain.FilterChainContext ctx
        Grizzly FilterChain context, related to this HTTP request/response
      • httpContext

        protected org.glassfish.grizzly.http.HttpContext httpContext
        Grizzly HttpContext associated with the current Request/Response processing.
      • outputBuffer

        protected final ServerOutputBuffer outputBuffer
        The associated output buffer.
      • appCommitted

        protected boolean appCommitted
        The application commit flag.
      • error

        protected boolean error
        The error flag.
      • usingOutputStream

        protected boolean usingOutputStream
        Using output stream flag.
      • usingWriter

        protected boolean usingWriter
        Using writer flag.
      • urlEncoder

        protected final org.glassfish.grizzly.http.util.UEncoder urlEncoder
        URL encoder.
      • redirectURLCC

        protected final org.glassfish.grizzly.http.util.CharChunk redirectURLCC
        Recyclable buffer to hold the redirect URL.
    • Constructor Detail

      • Response

        protected Response()
    • Method Detail

      • initialize

        public void initialize​(Request request,
                               org.glassfish.grizzly.http.HttpResponsePacket response,
                               org.glassfish.grizzly.filterchain.FilterChainContext ctx,
                               org.glassfish.grizzly.utils.DelayedExecutor.DelayQueue<Response.SuspendTimeout> delayQueue,
                               HttpServerFilter serverFilter)
      • getRequest

        public Request getRequest()
        Return the Request with which this Response is associated.
      • getResponse

        public org.glassfish.grizzly.http.HttpResponsePacket getResponse()
        Get the HttpResponsePacket.
      • recycle

        protected void recycle()
        Release all object references, and initialize instance variables, in preparation for reuse of this object.
      • setTrailers

        public void setTrailers​(Supplier<Map<String,​String>> trailerSupplier)
        Set the supplier of trailer headers. The supplier will be called within the scope of whatever thread/call causes the response content to be completed. Typically this will be any thread calling close() on the output stream or writer. The trailers that run afoul of the provisions of section 4.1.2 of RFC 7230 are ignored.
        Parameters:
        trailerSupplier - the supplier of trailer headers
        Throws:
        IllegalStateException - if it is invoked after the response has has been committed, or trailers cannot be supported given the current protocol and/or configuration (chunked transfer encoding disabled in HTTP/1.1 as an example).
        Since:
        2.4.0
      • getTrailers

        public Supplier<Map<String,​String>> getTrailers()
        Returns:
        the trailers supplier, if any.
        Since:
        2.4.0
      • encodeURL

        public String encodeURL​(String url)
        Encode the session identifier associated with this response into the specified URL, if necessary.
        Parameters:
        url - URL to be encoded
      • encodeRedirectURL

        public String encodeRedirectURL​(String url)
        Encode the session identifier associated with this response into the specified redirect URL, if necessary.
        Parameters:
        url - URL to be encoded
      • isEncodeable

        protected boolean isEncodeable​(String location)
        Return true if the specified URL should be encoded with a session identifier. This will be true if all of the following conditions are met:
        • The request we are responding to asked for a valid session
        • The requested session ID was not received via a cookie
        • The specified URL points back to somewhere within the web application that is responding to this request
        Parameters:
        location - Absolute URL to be validated
      • getInfo

        public String getInfo()
        Return descriptive information about this Response implementation and the corresponding version number, in the format <description>/<version>.
      • setError

        public void setError()
        Set the error flag.
      • isError

        public boolean isError()
        Error flag accessor.
      • setDetailMessage

        public void setDetailMessage​(String message)
        Sets detail error message.
        Parameters:
        message - detail error message
      • getDetailMessage

        public String getDetailMessage()
        Gets detail error message.
        Returns:
        the detail error message
      • finish

        public void finish()
        Perform whatever actions are required to flush and close the output stream or writer, in a single operation.
      • getContentLength

        public int getContentLength()
        Return the content length that was set or calculated for this Response.
      • getContentLengthLong

        public long getContentLengthLong()
        Return the content length that was set or calculated for this Response.
      • getContentType

        public String getContentType()
        Return the content type that was set or calculated for this response, or null if no content type was set.
      • getBufferSize

        public int getBufferSize()
        Return the actual buffer size used for this Response.
      • getCharacterEncoding

        public String getCharacterEncoding()
        Return the character encoding used for this Response.
      • setCharacterEncoding

        public void setCharacterEncoding​(String charset)
      • createOutputStream

        public org.glassfish.grizzly.http.io.NIOOutputStream createOutputStream()
        Create and return a ServletOutputStream to write the content associated with this Response.
      • getNIOOutputStream

        public org.glassfish.grizzly.http.io.NIOOutputStream getNIOOutputStream()

        Return the NIOOutputStream associated with this Response. This NIOOutputStream will write content in a non-blocking manner.

        Throws:
        IllegalStateException - if getWriter() or getNIOWriter() were already invoked.
      • getLocale

        public Locale getLocale()
        Return the Locale assigned to this response.
      • getWriter

        public Writer getWriter()

        Return the NIOWriter associated with this Response.

        By default the returned NIOWriter will work as blocking Writer, but it will be possible to call OutputSink.canWrite() or OutputSink.notifyCanWrite(org.glassfish.grizzly.WriteHandler) to avoid blocking.
        Throws:
        IllegalStateException - if getOutputStream() or getNIOOutputStream() were already invoked.
      • isCommitted

        public boolean isCommitted()
        Has the output of this response already been committed?
      • flush

        public void flush()
                   throws IOException
        Flush the current buffered content to the network.
        Throws:
        IOException - if an occur occurs flushing to the wire.
      • getOutputBuffer

        public org.glassfish.grizzly.http.io.OutputBuffer getOutputBuffer()
        Returns:
        the OutputBuffer associated with this Response.
      • reset

        public void reset()
        Clears any data that exists in the buffer as well as the status code and headers.
        Throws:
        IllegalStateException - if this response has already been committed
      • resetBuffer

        public void resetBuffer()
        Reset the data buffer but not any status or header information.
        Throws:
        IllegalStateException - if the response has already been committed
      • resetBuffer

        public void resetBuffer​(boolean resetWriterStreamFlags)
        Reset the data buffer and the using Writer/Stream flags but not any status or header information.
        Parameters:
        resetWriterStreamFlags - true if the internal usingWriter, usingOutputStream, isCharacterEncodingSet flags should also be reset
        Throws:
        IllegalStateException - if the response has already been committed
      • setBufferSize

        public void setBufferSize​(int size)
        Set the buffer size to be used for this Response.
        Parameters:
        size - The new buffer size
        Throws:
        IllegalStateException - if this method is called after output has been committed for this response
      • setContentLengthLong

        public void setContentLengthLong​(long length)
        Set the content length (in bytes) for this Response. If the length argument is negative - then HttpPacket content-length value will be reset to -1 and Content-Length header (if present) will be removed.
        Parameters:
        length - The new content length
      • setContentLength

        public void setContentLength​(int length)
        Set the content length (in bytes) for this Response. If the length argument is negative - then HttpPacket content-length value will be reset to -1 and Content-Length header (if present) will be removed.
        Parameters:
        length - The new content length
      • setContentType

        public void setContentType​(String type)
        Set the content type for this Response.
        Parameters:
        type - The new content type
      • setContentType

        public void setContentType​(org.glassfish.grizzly.http.util.ContentType type)
        Set the content type for this Response.
        Parameters:
        type - The new content type
      • setLocale

        public void setLocale​(Locale locale)
        Set the Locale that is appropriate for this response, including setting the appropriate character encoding.
        Parameters:
        locale - The new locale
      • getCookies

        public org.glassfish.grizzly.http.Cookie[] getCookies()
        Return an array of all cookies set for this response, or a zero-length array if no cookies have been set.
      • getHeader

        public String getHeader​(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 getHeaderValues() to retrieve all of them.
        Parameters:
        name - Header name to look up
      • getHeaderNames

        public String[] getHeaderNames()
        Return an array of all the header names set for this response, or a zero-length array if no headers have been set.
      • getHeaderValues

        public String[] getHeaderValues​(String name)
        Return an array of all the header values associated with the specified header name, or an zero-length array if there are no such header values.
        Parameters:
        name - Header name to look up
      • getMessage

        public String getMessage()
        Return the error message that was set with sendError() for this Response.
      • getStatus

        public int getStatus()
        Return the HTTP status code associated with this Response.
      • reset

        public void reset​(int status,
                          String message)
        Reset this response, and specify the values for the HTTP status code and corresponding message.
        Throws:
        IllegalStateException - if this response has already been committed
      • addCookie

        public void addCookie​(org.glassfish.grizzly.http.Cookie cookie)
        Add the specified Cookie to those that will be included with this Response.
        Parameters:
        cookie - Cookie to be added
      • addSessionCookieInternal

        protected void addSessionCookieInternal​(org.glassfish.grizzly.http.Cookie cookie)
        Special method for adding a session cookie as we should be overriding any previous
      • removeSessionCookies

        protected void removeSessionCookies()
        Removes any Set-Cookie response headers whose value contains the string "JSESSIONID=" or "JSESSIONIDSSO="
      • addDateHeader

        public void addDateHeader​(String name,
                                  long value)
        Add the specified date header to the specified value.
        Parameters:
        name - Name of the header to set
        value - Date value to be set
      • addDateHeader

        public void addDateHeader​(org.glassfish.grizzly.http.util.Header header,
                                  long value)
        Add the specified date header to the specified value.
        Parameters:
        header - the Header to set
        value - Date value to be set
        Since:
        2.1.2
      • addHeader

        public void addHeader​(String name,
                              String value)
        Add the specified header to the specified value.
        Parameters:
        name - Name of the header to set
        value - Value to be set
      • addHeader

        public void addHeader​(String name,
                              org.glassfish.grizzly.http.util.HeaderValue value)
        Add the specified header to the specified value.
        Parameters:
        name - Name of the header to set
        value - Value to be set
        Since:
        2.3.8
      • addHeader

        public void addHeader​(org.glassfish.grizzly.http.util.Header header,
                              String value)
        Add the specified header to the specified value.
        Parameters:
        header - the Header to set
        value - Value to be set
        Since:
        2.1.2
      • addHeader

        public void addHeader​(org.glassfish.grizzly.http.util.Header header,
                              org.glassfish.grizzly.http.util.HeaderValue value)
        Add the specified header to the specified value.
        Parameters:
        header - the Header to set
        value - Value to be set
        Since:
        2.3.8
      • addIntHeader

        public void addIntHeader​(String name,
                                 int value)
        Add the specified integer header to the specified value.
        Parameters:
        name - Name of the header to set
        value - Integer value to be set
      • addIntHeader

        public void addIntHeader​(org.glassfish.grizzly.http.util.Header header,
                                 int value)
        Add the specified integer header to the specified value.
        Parameters:
        header - the Header to set
        value - Integer value to be set
        Since:
        2.1.2
      • containsHeader

        public boolean containsHeader​(String name)
        Has the specified header been set already in this response?
        Parameters:
        name - Name of the header to check
      • containsHeader

        public boolean containsHeader​(org.glassfish.grizzly.http.util.Header header)
        Has the specified header been set already in this response?
        Parameters:
        header - the Header to check
        Since:
        2.1.2
      • sendAcknowledgement

        public void sendAcknowledgement()
                                 throws IOException
        Send an acknowledgment of a request. An acknowledgment in this case is simply an HTTP response status line, i.e. HTTP/1.1 [STATUS] [REASON-PHRASE].
        Throws:
        IOException - if an input/output error occurs
      • sendError

        public void sendError​(int status)
                       throws IOException
        Send an error response with the specified status and a default message.
        Parameters:
        status - HTTP status code to send
        Throws:
        IllegalStateException - if this response has already been committed
        IOException - if an input/output error occurs
      • sendError

        public void sendError​(int status,
                              String message)
                       throws IOException
        Send an error response with the specified status and message.
        Parameters:
        status - HTTP status code to send
        message - Corresponding message to send
        Throws:
        IllegalStateException - if this response has already been committed
        IOException - if an input/output error occurs
      • sendRedirect

        public void sendRedirect​(String location)
                          throws IOException
        Send a temporary redirect to the specified redirect location URL.
        Parameters:
        location - Location URL to redirect to
        Throws:
        IllegalStateException - if this response has already been committed
        IOException - if an input/output error occurs
      • setDateHeader

        public void setDateHeader​(String name,
                                  long value)
        Set the specified date header to the specified value.
        Parameters:
        name - Name of the header to set
        value - Date value to be set
      • setDateHeader

        public void setDateHeader​(org.glassfish.grizzly.http.util.Header header,
                                  long value)
        Set the specified date header to the specified value.
        Parameters:
        header - the Header to set
        value - Date value to be set
        Since:
        2.1.2
      • setHeader

        public void setHeader​(String name,
                              String value)
        Set the specified header to the specified value.
        Parameters:
        name - Name of the header to set
        value - Value to be set
      • setHeader

        public void setHeader​(String name,
                              org.glassfish.grizzly.http.util.HeaderValue value)
        Set the specified header to the specified value.
        Parameters:
        name - Name of the header to set
        value - Value to be set
        Since:
        2.3.8
      • setHeader

        public void setHeader​(org.glassfish.grizzly.http.util.Header header,
                              String value)
        Set the specified header to the specified value.
        Parameters:
        header - the Header to set
        value - Value to be set
        Since:
        2.1.2
      • setHeader

        public void setHeader​(org.glassfish.grizzly.http.util.Header header,
                              org.glassfish.grizzly.http.util.HeaderValue value)
        Set the specified header to the specified value.
        Parameters:
        header - the Header to set
        value - Value to be set
        Since:
        2.3.8
      • setIntHeader

        public void setIntHeader​(String name,
                                 int value)
        Set the specified integer header to the specified value.
        Parameters:
        name - Name of the header to set
        value - Integer value to be set
      • setIntHeader

        public void setIntHeader​(org.glassfish.grizzly.http.util.Header header,
                                 int value)
        Set the specified integer header to the specified value.
        Parameters:
        header - the Header to set
        value - Integer value to be set
        Since:
        2.1.2
      • setStatus

        public void setStatus​(int status)
        Set the HTTP status to be returned with this response.
        Parameters:
        status - The new HTTP status
      • setStatus

        public void setStatus​(int status,
                              String message)
        Set the HTTP status and message to be returned with this response.
        Parameters:
        status - The new HTTP status
        message - The associated text message
      • setStatus

        public void setStatus​(org.glassfish.grizzly.http.util.HttpStatus status)
        Set the HTTP status and message to be returned with this response.
        Parameters:
        status - HttpStatus to set
      • toAbsolute

        protected String toAbsolute​(String location,
                                    boolean normalize)
        Convert (if necessary) and return the absolute URL that represents the resource referenced by this possibly relative URL. If this URL is already absolute, return it unchanged.
        Parameters:
        location - URL to be (possibly) converted and then returned
        Throws:
        IllegalArgumentException - if a MalformedURLException is thrown when converting the relative URL to an absolute one
      • filter

        public static String filter​(String message)
        Filter the specified message string for characters that are sensitive in HTML. This avoids potential attacks caused by including JavaScript codes in the request URL that is often reported in error messages.
        Parameters:
        message - The message string to be filtered
      • toEncoded

        protected String toEncoded​(String url,
                                   String sessionId)
        Return the specified URL with the specified session identifier suitably encoded.
        Parameters:
        url - URL to be encoded with the session id
        sessionId - Session id to be included in the encoded URL
      • isCacheEnabled

        public boolean isCacheEnabled()
        Is the file cache enabled?
      • getSuspendContext

        public SuspendContext getSuspendContext()
        Get the context of the suspended Response.
        Returns:
        the context of the suspended Response.
      • isSuspended

        public boolean isSuspended()
        Return true if that suspend() has been invoked and set to true
        Returns:
        true if that suspend() has been invoked and set to true
      • suspend

        public void suspend()
        Suspend the Response. Suspending a Response will tell the underlying container to avoid recycling objects associated with the current instance, and also to avoid committing response.
      • suspend

        @Deprecated
        public void suspend​(long timeout,
                            TimeUnit timeunit)
        Deprecated.
        timeout parameters don't make any sense without CompletionHandler
        Suspend the Response. Suspending a Response will tell the underlying container to avoid recycling objects associated with the current instance, and also to avoid committing response.
        Parameters:
        timeout - The maximum amount of time, a Response can be suspended. When the timeout expires (because nothing has been written or because the resume() or cancel()), the Response will be automatically resumed and committed. Usage of any methods of a Response that times out will throw an IllegalStateException.
        timeunit - timeout units
      • suspend

        public void suspend​(long timeout,
                            TimeUnit timeunit,
                            org.glassfish.grizzly.CompletionHandler<Response> completionHandler)
        Suspend the Response. Suspending a Response will tell the underlying container to avoid recycling objects associated with the current instance, and also to avoid committing response. When the resume() is invoked, the container will make sure CompletionHandler.completed(Object) is invoked with the original attachment. When the cancel() is invoked, the container will make sure CompletionHandler.cancelled() is invoked with the original attachment. If the timeout expires, the CompletionHandler.cancelled() is invoked with the original attachment and the Response committed.
        Parameters:
        timeout - The maximum amount of time the Response can be suspended. When the timeout expires (because nothing has been written or because the resume() or cancel()), the Response will be automatically resumed and committed. Usage of any methods of a Response that times out will throw an IllegalStateException.
        timeunit - timeout units
        completionHandler - a CompletionHandler
      • suspend

        public void suspend​(long timeout,
                            TimeUnit timeunit,
                            org.glassfish.grizzly.CompletionHandler<Response> completionHandler,
                            TimeoutHandler timeoutHandler)
        Suspend the Response. Suspending a Response will tell the underlying container to avoid recycling objects associated with the current instance, and also to avoid committing response. When the resume() is invoked, the container will make sure CompletionHandler.completed(Object) is invoked with the original attachment. When the cancel() is invoked, the container will make sure CompletionHandler.cancelled() is invoked with the original attachment. If the timeout expires, the CompletionHandler.cancelled() is invoked with the original attachment and the Response committed.
        Parameters:
        timeout - The maximum amount of time the Response can be suspended. When the timeout expires (because nothing has been written or because the resume() or cancel()), the Response will be automatically resumed and committed. Usage of any methods of a Response that times out will throw an IllegalStateException.
        timeunit - timeout units
        completionHandler - a CompletionHandler
        timeoutHandler - TimeoutHandler to customize the suspended Response timeout logic.
      • resume

        public void resume()
        Complete the Response and finish/commit it. If a CompletionHandler has been defined, its CompletionHandler.completed(Object) will first be invoked, then the finish(). Those operations commit the response.
      • cancel

        @Deprecated
        public void cancel()
        Deprecated.
        pls. use resume()
        Cancel the Response and finish/commit it. If a CompletionHandler has been defined, its CompletionHandler.cancelled() will first be invoked, then the finish(). Those operations commit the response.
      • isSendFileEnabled

        public boolean isSendFileEnabled()