java.lang.Object
org.glassfish.grizzly.http.server.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
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    final class 
     
    protected class 
     
  • Field Summary

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

    Constructors
    Modifier
    Constructor
    Description
    protected
     
  • Method Summary

    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
    Deprecated.
    pls.
    boolean
    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
    Create and return a ServletOutputStream to write the content associated with this Response.
    Encode the session identifier associated with this response into the specified redirect URL, if necessary.
    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
    Perform whatever actions are required to flush and close the output stream or writer, in a single operation.
    void
    Flush the current buffered content to the network.
    int
    Return the actual buffer size used for this Response.
    Return the character encoding used for this Response.
    int
    Return the content length that was set or calculated for this Response.
    long
    Return the content length that was set or calculated for this Response.
    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[]
    Return an array of all cookies set for this response, or a zero-length array if no cookies have been set.
    Gets detail error message.
     
    Return the value for the specified header, or null if this header has not been set.
    Return an array of all the header names set for this response, or a zero-length array if no headers have been set.
    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.
    Return descriptive information about this Response implementation and the corresponding version number, in the format <description>/<version>.
    Return the Locale assigned to this response.
    Return the error message that was set with sendError() for this Response.
    org.glassfish.grizzly.http.io.NIOOutputStream
    Return the NIOOutputStream associated with this Response.
    org.glassfish.grizzly.http.io.NIOWriter
    Return the NIOWriter associated with this Response.
    org.glassfish.grizzly.http.io.OutputBuffer
     
    Return the OutputStream associated with this Response.
    Return the Request with which this Response is associated.
    org.glassfish.grizzly.http.HttpResponsePacket
    Get the HttpResponsePacket.
    int
    Return the HTTP status code associated with this Response.
    Get the context of the suspended Response.
     
    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
    Is the file cache enabled?
    boolean
    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
    Error flag accessor.
    boolean
     
    boolean
    Return true<//tt> if that suspend() has been invoked and set to true
    protected void
    Release all object references, and initialize instance variables, in preparation for reuse of this object.
    protected void
    Removes any Set-Cookie response headers whose value contains the string "JSESSIONID=" or "JSESSIONIDSSO="
    void
    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
    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
    Complete the Response and finish/commit it.
    void
    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
     
    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
    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
    Sets detail error message.
    void
    Set the error flag.
    void
    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 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.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • format

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

      protected static final String info
      Descriptive information about this Response implementation.
      See Also:
    • 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.
    • delayQueue

      protected org.glassfish.grizzly.utils.DelayedExecutor.DelayQueue<Response.SuspendTimeout> delayQueue
  • Constructor Details

    • Response

      protected Response()
  • Method Details

    • 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.
    • getErrorPageGenerator

      public ErrorPageGenerator getErrorPageGenerator()
      Returns:
      the ErrorPageGenerator to be used by sendError(int) or sendError(int, java.lang.String).
    • setErrorPageGenerator

      public void setErrorPageGenerator(ErrorPageGenerator errorPageGenerator)
      Parameters:
      errorPageGenerator - the custom ErrorPageGenerator.
    • 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.
    • getOutputStream

      public OutputStream getOutputStream()

      Return the OutputStream associated with this Response.

      By default the returned NIOOutputStream will work as blocking OutputStream, but it will be possible to call OutputSink.canWrite() or OutputSink.notifyCanWrite(org.glassfish.grizzly.WriteHandler) to avoid blocking.
      Returns:
      the NIOOutputStream associated with this Response.
      Throws:
      IllegalStateException - if getWriter() or getNIOWriter() were already invoked.
      Since:
      2.1.2
    • 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.
    • getNIOWriter

      public org.glassfish.grizzly.http.io.NIOWriter getNIOWriter()

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

      Returns:
      the NIOWriter associated with this Response.
      Throws:
      IllegalStateException - if getOutputStream() or getNIOOutputStream() were already invoked.
      Since:
      2.1.2
    • 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<//tt> if that suspend() has been invoked and set to true
      Returns:
      true<//tt> 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()