public interface Request extends RequestHeader
Request
is used to provide an interface to the
HTTP entity body and message header. This provides methods that
allow the entity body to be acquired as a stream, string, or if
the message is a multipart encoded body, then the individual
parts of the request body can be acquired.
This can also maintain data during the request lifecycle as well
as the session lifecycle. A Session
is made available
for convenience. It provides a means for the services to associate
data with a given client session, which can be retrieved when
there are subsequent requests sent to the server.
It is important to note that the entity body can be read multiple
times from the request. Calling getInputStream
will
start reading from the first byte in the body regardless of the
number of times it is called. This allows POST parameters as well
as multipart bodies to be read from the stream if desired.
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
getAttribute(java.lang.Object key)
This is used as a shortcut for acquiring attributes for the
response.
|
java.util.Map |
getAttributes()
This can be used to retrieve the response attributes.
|
java.nio.channels.ReadableByteChannel |
getByteChannel()
This is used to read the content body.
|
java.net.InetSocketAddress |
getClientAddress()
This is used to acquire the remote client address.
|
java.lang.String |
getContent()
This is used to get the content body.
|
Form |
getForm()
This is used to acquire all the form parameters from the
HTTP request.
|
java.io.InputStream |
getInputStream()
This is used to read the content body.
|
java.lang.String |
getParameter(java.lang.String name)
This is used to provide quick access to the parameters.
|
Part |
getPart(java.lang.String name)
This method is used to acquire a
Part from the
form using a known name for the part. |
Session |
getSession()
This method is used to acquire a
Session for the
request. |
Session |
getSession(boolean create)
This method is used to acquire a
Session for the
request. |
boolean |
isKeepAlive()
This is a convenience method that is used to determine whether
or not this message has the
Connection: close
header. |
boolean |
isSecure()
This is used to determine if the request has been transferred
over a secure connection.
|
contains, getContentLength, getContentType, getCookie, getCookies, getDate, getInteger, getLocales, getNames, getValue, getValues
getAddress, getMajor, getMethod, getMinor, getPath, getQuery, getTarget
boolean isSecure()
boolean isKeepAlive()
Connection: close
header. If the close token is present then this stream is not
a keep-alive connection. If this has no Connection
header then the keep-alive status is determined by the HTTP
version, that is, HTTP/1.1 is keep-alive by default, HTTP/1.0
is not keep-alive by default.Form getForm() throws java.io.IOException
java.io.IOException
java.lang.String getParameter(java.lang.String name) throws java.io.IOException
Form
object.
This basically acquires the parameters object and invokes
the getParameters
method with the given name.name
- this is the name of the parameter valuejava.io.IOException
Part getPart(java.lang.String name) throws java.io.IOException
Part
from the
form using a known name for the part. This is typically used
when there is a file upload with a multipart POST request.
All parts that are not files are added to the query values
as strings so that they can be used in a convenient way.name
- this is the name of the part to acquirejava.io.IOException
java.util.Map getAttributes()
java.lang.Object getAttribute(java.lang.Object key)
Map
in order to retrieve the attribute directly from that object.
The attributes contain data specific to the response.key
- this is the key of the attribute to acquirejava.net.InetSocketAddress getClientAddress()
java.lang.String getContent() throws java.io.IOException
java.io.IOException
java.io.InputStream getInputStream() throws java.io.IOException
InputStream
can be determined
by the getContentLength
method. If the data sent by
the client is chunked then it is decoded, see RFC 2616 section
3.6. Also multipart data is available as Part
objects
however the raw content of the multipart body is still available.java.io.IOException
java.nio.channels.ReadableByteChannel getByteChannel() throws java.io.IOException
ReadableByteChannel
can be
determined by the getContentLength
method. If the
data sent by the client is chunked then it is decoded, see RFC
2616 section 3.6. This stream will never provide empty reads as
the content is internally buffered, so this can do a full read.java.io.IOException
Session getSession() throws LeaseException
Session
for the
request. The object retrieved provides a container for data
associated to the connected client. This allows the request
to perform more complex operations based on knowledge that is
built up through a series of requests. The session is known
to the system using a Cookie
, which contains
the session reference. This cookie value should not be
modified as it used to reference the active session object.LeaseException
Session getSession(boolean create) throws LeaseException
Session
for the
request. The object retrieved provides a container for data
associated to the connected client. This allows the request
to perform more complex operations based on knowledge that is
built up through a series of requests. The session is known
to the system using a Cookie
, which contains
the session reference. This cookie value should not be
modified as it used to reference the active session object.create
- creates the session if it does not existLeaseException