|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.glassfish.grizzly.http.server.Response
public class Response
Wrapper object for the Coyote response.
| Nested Class Summary | |
|---|---|
class |
Response.SuspendedContextImpl
|
| Field Summary | |
|---|---|
protected boolean |
appCommitted
The application commit flag. |
protected List<Cookie> |
cookies
The set of Cookies associated with this Response. |
protected FilterChainContext |
ctx
Grizzly FilterChain context,
related to this HTTP request/response |
protected DelayedExecutor.DelayQueue<Response> |
delayQueue
|
protected boolean |
error
The error flag. |
protected SimpleDateFormat |
format
The date format we will use for creating date headers. |
protected static String |
info
Descriptive information about this Response implementation. |
protected OutputBuffer |
outputBuffer
The associated output buffer. |
protected MessageBytes |
redirectURLCC
Recyclable buffer to hold the redirect URL. |
protected Request |
request
The request with which this response is associated. |
protected HttpResponsePacket |
response
Coyote response. |
protected UEncoder |
urlEncoder
URL encoder. |
protected boolean |
usingOutputStream
Using output stream flag. |
protected boolean |
usingWriter
Using writer flag. |
| Constructor Summary | |
|---|---|
protected |
Response()
|
| Method Summary | |
|---|---|
void |
addCookie(Cookie cookie)
Add the specified Cookie to those that will be included with this Response. |
void |
addDateHeader(Header header,
long value)
Add the specified date header to the specified value. |
void |
addDateHeader(String name,
long value)
Add the specified date header to the specified value. |
void |
addHeader(Header header,
String value)
Add the specified header to the specified value. |
void |
addHeader(String name,
String value)
Add the specified header to the specified value. |
void |
addIntHeader(Header header,
int value)
Add the specified integer header to the specified value. |
void |
addIntHeader(String name,
int value)
Add the specified integer header to the specified value. |
void |
cancel()
Cancel the Response and finish/commit it. |
boolean |
containsHeader(Header header)
Has the specified header been set already in this response? |
boolean |
containsHeader(String name)
Has the specified header been set already in this response? |
static Response |
create()
|
NIOOutputStream |
createOutputStream()
Create and return a ServletOutputStream to write the content associated with this Response. |
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. |
Cookie[] |
getCookies()
Return an array of all cookies set for this response, or a zero-length array if no cookies have been set. |
static Response |
getCurrent()
|
String |
getDetailMessage()
Gets detail error message. |
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. |
NIOOutputStream |
getNIOOutputStream()
Return the NIOOutputStream associated with this Response. |
NIOWriter |
getNIOWriter()
Return the NIOWriter associated with this Response. |
OutputBuffer |
getOutputBuffer()
|
OutputStream |
getOutputStream()
Return the OutputStream associated with this Response. |
Request |
getRequest()
Return the Request with which this Response is associated. |
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. |
Writer |
getWriter()
Return the Writer associated with this Response. |
SuspendStatus |
initialize(Request request,
HttpResponsePacket response,
FilterChainContext ctx,
DelayedExecutor.DelayQueue<Response> 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/tt> 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. |
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. |
static void |
setCurrent(Response response)
|
void |
setDateHeader(Header header,
long value)
Set the specified date header to the specified value. |
void |
setDateHeader(String name,
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 |
setHeader(Header header,
String value)
Set the specified header to the specified value. |
void |
setHeader(String name,
String value)
Set the specified header to the specified value. |
void |
setIntHeader(Header header,
int value)
Set the specified integer header to the specified value. |
void |
setIntHeader(String name,
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(HttpStatus status)
Set the HTTP status and message to be returned with this response. |
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 |
suspend()
Suspend the Response. |
void |
suspend(long timeout,
TimeUnit timeunit)
Suspend the Response. |
void |
suspend(long timeout,
TimeUnit timeunit,
CompletionHandler<Response> completionHandler)
Suspend the Response. |
void |
suspend(long timeout,
TimeUnit timeunit,
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 Detail |
|---|
protected SimpleDateFormat format
protected static final String info
protected Request request
protected HttpResponsePacket response
protected FilterChainContext ctx
FilterChain context,
related to this HTTP request/response
protected final OutputBuffer outputBuffer
protected boolean appCommitted
protected boolean error
protected final List<Cookie> cookies
protected boolean usingOutputStream
protected boolean usingWriter
protected final UEncoder urlEncoder
protected final MessageBytes redirectURLCC
protected DelayedExecutor.DelayQueue<Response> delayQueue
| Constructor Detail |
|---|
protected Response()
| Method Detail |
|---|
public static Response create()
public SuspendStatus initialize(Request request,
HttpResponsePacket response,
FilterChainContext ctx,
DelayedExecutor.DelayQueue<Response> delayQueue,
HttpServerFilter serverFilter)
public Request getRequest()
public HttpResponsePacket getResponse()
HttpResponsePacket.
protected final void recycle()
public String encodeURL(String url)
url - URL to be encodedprotected boolean isEncodeable(String location)
location - Absolute URL to be validatedpublic String getInfo()
<description>/<version>.
public void setError()
public boolean isError()
public void setDetailMessage(String message)
message - detail error messagepublic String getDetailMessage()
public void finish()
public int getContentLength()
public long getContentLengthLong()
public String getContentType()
null if no content type was set.
public int getBufferSize()
public String getCharacterEncoding()
public void setCharacterEncoding(String charset)
public NIOOutputStream createOutputStream()
public NIOOutputStream getNIOOutputStream()
Return the NIOOutputStream associated with this Response.
This NIOOutputStream will write content in a non-blocking manner.
IllegalStateException - if getWriter() or getNIOWriter()
were already invoked.public OutputStream getOutputStream()
Return the OutputStream associated with this Response.
This OutputStream will write content in a blocking manner.
NIOOutputStream associated with this Response.
IllegalStateException - if getWriter() or getNIOWriter()
were already invoked.public Locale getLocale()
public Writer getWriter()
Return the Writer associated with this Response.
The Writer will write content in a blocking manner.
IllegalStateException - if getOutputStream() or
getNIOOutputStream() were already invoked.public NIOWriter getNIOWriter()
Return the NIOWriter associated with this Response.
The NIOWriter will write content in a non-blocking manner.
NIOWriter associated with this Response.
IllegalStateException - if getOutputStream() or
getNIOOutputStream() were already invoked.public boolean isCommitted()
public void flush()
throws IOException
IOExceptionpublic OutputBuffer getOutputBuffer()
OutputBuffer associated with this
Response.public void reset()
IllegalStateException - if this response has already
been committedpublic void resetBuffer()
IllegalStateException - if the response has already
been committedpublic void resetBuffer(boolean resetWriterStreamFlags)
resetWriterStreamFlags - true if the internal
usingWriter, usingOutputStream,
isCharacterEncodingSet flags should also be reset
IllegalStateException - if the response has already
been committedpublic void setBufferSize(int size)
size - The new buffer size
IllegalStateException - if this method is called after
output has been committed for this responsepublic void setContentLengthLong(long length)
length - The new content lengthpublic void setContentLength(int length)
length - The new content lengthpublic void setContentType(String type)
type - The new content typepublic void setLocale(Locale locale)
locale - The new localepublic Cookie[] getCookies()
public String getHeader(String name)
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.
name - Header name to look uppublic String[] getHeaderNames()
public String[] getHeaderValues(String name)
name - Header name to look uppublic String getMessage()
sendError()
for this Response.
public int getStatus()
public void reset(int status,
String message)
IllegalStateException - if this response has already been
committedpublic void addCookie(Cookie cookie)
cookie - Cookie to be addedpublic void removeSessionCookies()
public void addDateHeader(String name,
long value)
name - Name of the header to setvalue - Date value to be set
public void addDateHeader(Header header,
long value)
header - the Header to setvalue - Date value to be set
public void addHeader(String name,
String value)
name - Name of the header to setvalue - Value to be set
public void addHeader(Header header,
String value)
header - the Header to setvalue - Value to be set
public void addIntHeader(String name,
int value)
name - Name of the header to setvalue - Integer value to be set
public void addIntHeader(Header header,
int value)
header - the Header to setvalue - Integer value to be setpublic boolean containsHeader(String name)
name - Name of the header to checkpublic boolean containsHeader(Header header)
header - the Header to check
public void sendAcknowledgement()
throws IOException
HTTP/1.1 [STATUS] [REASON-PHRASE].
- Throws:
IOException - if an input/output error occurs
public void sendError(int status)
throws IOException
status - HTTP status code to send
IllegalStateException - if this response has
already been committed
IOException - if an input/output error occurs
public void sendError(int status,
String message)
throws IOException
status - HTTP status code to sendmessage - Corresponding message to send
IllegalStateException - if this response has
already been committed
IOException - if an input/output error occurs
public void sendRedirect(String location)
throws IOException
location - Location URL to redirect to
IllegalStateException - if this response has
already been committed
IOException - if an input/output error occurs
public void setDateHeader(String name,
long value)
name - Name of the header to setvalue - Date value to be set
public void setDateHeader(Header header,
long value)
header - the Header to setvalue - Date value to be set
public void setHeader(String name,
String value)
name - Name of the header to setvalue - Value to be set
public void setHeader(Header header,
String value)
header - the Header to setvalue - Value to be set
public void setIntHeader(String name,
int value)
name - Name of the header to setvalue - Integer value to be set
public void setIntHeader(Header header,
int value)
header - the Header to setvalue - Integer value to be setpublic void setStatus(int status)
status - The new HTTP status
public void setStatus(int status,
String message)
status - The new HTTP statusmessage - The associated text messagepublic void setStatus(HttpStatus status)
status - HttpStatus to set
protected String toAbsolute(String location,
boolean normalize)
location - URL to be (possibly) converted and then returned
IllegalArgumentException - if a MalformedURLException is
thrown when converting the relative URL to an absolute onepublic static String filter(String message)
message - The message string to be filtered
protected String toEncoded(String url,
String sessionId)
url - URL to be encoded with the session idsessionId - Session id to be included in the encoded URLpublic boolean isCacheEnabled()
public SuspendContext getSuspendContext()
public boolean isSuspended()
suspend() has been
invoked and set to true
suspend() has been
invoked and set to truepublic void suspend()
Response. Suspending a Response will
tell the underlying container to avoid recycling objects associated with
the current instance, and also to avoid committing response.
public void suspend(long timeout,
TimeUnit timeunit)
Response. Suspending a Response will
tell the underlying container to avoid recycling objects associated with
the current instance, and also to avoid committing response.
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
public void suspend(long timeout,
TimeUnit timeunit,
CompletionHandler<Response> completionHandler)
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.
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 unitscompletionHandler - a CompletionHandler
public void suspend(long timeout,
TimeUnit timeunit,
CompletionHandler<Response> completionHandler,
TimeoutHandler timeoutHandler)
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.
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 unitscompletionHandler - a CompletionHandlertimeoutHandler - TimeoutHandler to customize the suspended Response timeout logic.public void resume()
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.
public void cancel()
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.
public static Response getCurrent()
public static void setCurrent(Response response)
public boolean isSendFileEnabled()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||