#include <HttpServletRequest.h>
Public Types | |
typedef std::map< std::string, Cookie * > | cookielist_t |
Public Member Functions | |
HttpServletRequest () | |
virtual | ~HttpServletRequest () |
virtual std::string | getAuthType () const =0 |
virtual std::auto_ptr < cookielist_t > | getCookies () const =0 |
virtual long | getDateHeader (const std::string &name) const =0 |
virtual std::string | getHeader (const std::string &name) const =0 |
virtual std::auto_ptr < std::vector< std::string > > | getHeaders (const std::string &name) const =0 |
virtual std::auto_ptr < std::vector< std::string > > | getHeaderNames () const =0 |
virtual int | getIntHeader (const std::string &name) const =0 |
virtual std::string | getMethod () const =0 |
virtual std::string | getPathInfo () const =0 |
virtual std::string | getPathTranslated () const =0 |
virtual std::string | getContextPath () const =0 |
virtual std::string | getQueryString () const =0 |
virtual std::string | getRemoteUser () const =0 |
virtual bool | isUserInRole (const std::string &role) const =0 |
virtual std::string | getRequestedSessionId () const =0 |
virtual std::string | getRequestURI () const =0 |
virtual std::string | getRequestURL () const =0 |
virtual std::string | getServletPath () const =0 |
virtual HttpSession * | getSession (bool create=true)=0 |
virtual bool | isRequestedSessionIdValid () const =0 |
virtual bool | isRequestedSessionIdFromCookie () const =0 |
virtual bool | isRequestedSessionIdFromURL () const =0 |
virtual UploadedFile * | getUploadedFile (const std::string &)=0 |
Public Attributes | |
const std::string | BASIC_AUTH |
const std::string | FORM_AUTH |
const std::string | CLIENT_CERT_AUTH |
const std::string | DIGEST_AUTH |
The servlet container creates an HttpServletRequest
object and passes it as an argument to the servlet's service methods (doGet
, doPost
, etc).
Definition at line 83 of file HttpServletRequest.h.
typedef std::map<std::string,Cookie*> servlet::HttpServletRequest::cookielist_t |
Definition at line 85 of file HttpServletRequest.h.
servlet::HttpServletRequest::HttpServletRequest | ( | ) |
The default constructor. Does nothing.
Definition at line 59 of file HttpServletRequest.cpp.
virtual servlet::HttpServletRequest::~HttpServletRequest | ( | ) | [inline, virtual] |
Definition at line 90 of file HttpServletRequest.h.
virtual std::string servlet::HttpServletRequest::getAuthType | ( | ) | const [pure virtual] |
Returns the name of the authentication scheme used to protect the servlet. All servlet containers support basic, form and client certificate authentication, and may additionally support digest authentication. If the servlet is not authenticated null
is returned.
Same as the value of the CGI variable AUTH_TYPE.
null
if the request was not authenticated. Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getAuthType().
virtual std::string servlet::HttpServletRequest::getContextPath | ( | ) | const [pure virtual] |
Returns the portion of the request URI that indicates the context of the request. The context path always comes first in a request URI. The path starts with a "/" character but does not end with a "/" character. For servlets in the default (root) context, this method returns "". The container does not decode this string.
String
specifying the portion of the request URI that indicates the context of the request Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getContextPath().
virtual std::auto_ptr< cookielist_t > servlet::HttpServletRequest::getCookies | ( | ) | const [pure virtual] |
Returns an array containing all of the Cookie
objects the client sent with this request. This method returns null
if no cookies were sent.
Cookies
included with this request, or null
if the request has no cookies Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getCookies().
virtual long servlet::HttpServletRequest::getDateHeader | ( | const std::string & | name | ) | const [pure virtual] |
Returns the value of the specified request header as a long
value that represents a Date
object. Use this method with headers that contain dates, such as If-Modified-Since
.
The date is returned as the number of milliseconds since January 1, 1970 GMT. The header name is case insensitive.
If the request did not have a header of the specified name, this method returns -1. If the header can't be converted to a date, the method throws an IllegalArgumentException
.
name | a String specifying the name of the header |
long
value representing the date specified in the header expressed as the number of milliseconds since January 1, 1970 GMT, or -1 if the named header was not included with the requestIllegalArgumentException | If the header value can't be converted to a date |
Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getDateHeader(), and servlet::HttpServlet::service().
virtual std::string servlet::HttpServletRequest::getHeader | ( | const std::string & | name | ) | const [pure virtual] |
Returns the value of the specified request header as a String
. If the request did not include a header of the specified name, this method returns null
. If there are multiple headers with the same name, this method returns the first head in the request. The header name is case insensitive. You can use this method with any request header.
name | a String specifying the header name |
String
containing the value of the requested header, or null
if the request does not have a header of that name Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getHeader().
virtual std::auto_ptr< std::vector<std::string> > servlet::HttpServletRequest::getHeaderNames | ( | ) | const [pure virtual] |
Returns an enumeration of all the header names this request contains. If the request has no headers, this method returns an empty enumeration.
Some servlet containers do not allow servlets to access headers using this method, in which case this method returns null
null
Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getHeaderNames().
virtual std::auto_ptr< std::vector<std::string> > servlet::HttpServletRequest::getHeaders | ( | const std::string & | name | ) | const [pure virtual] |
Returns all the values of the specified request header as an Enumeration
of String
objects.
Some headers, such as Accept-Language
can be sent by clients as several headers each with a different value rather than sending the header as a comma separated list.
If the request did not include any headers of the specified name, this method returns an empty Enumeration
. The header name is case insensitive. You can use this method with any request header.
name | a String specifying the header name |
Enumeration
containing the values of the requested header. If the request does not have any headers of that name return an empty enumeration. If the container does not allow access to header information, return null Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getHeaders().
virtual int servlet::HttpServletRequest::getIntHeader | ( | const std::string & | name | ) | const [pure virtual] |
Returns the value of the specified request header as an int
. If the request does not have a header of the specified name, this method returns -1. If the header cannot be converted to an integer, this method throws a NumberFormatException
.
The header name is case insensitive.
name | a String specifying the name of a request header |
NumberFormatException | If the header value can't be converted to an int |
Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getIntHeader().
virtual std::string servlet::HttpServletRequest::getMethod | ( | ) | const [pure virtual] |
Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT. Same as the value of the CGI variable REQUEST_METHOD.
String
specifying the name of the method with which this request was made Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getMethod(), and servlet::HttpServlet::service().
virtual std::string servlet::HttpServletRequest::getPathInfo | ( | ) | const [pure virtual] |
Returns any extra path information associated with the URL the client sent when it made this request. The extra path information follows the servlet path but precedes the query string and will start with a "/" character.
This method returns null
if there was no extra path information.
Same as the value of the CGI variable PATH_INFO.
String
, decoded by the web container, specifying extra path information that comes after the servlet path but before the query string in the request URL; or null
if the URL does not have any extra path information Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getPathInfo().
virtual std::string servlet::HttpServletRequest::getPathTranslated | ( | ) | const [pure virtual] |
Returns any extra path information after the servlet name but before the query string, and translates it to a real path. Same as the value of the CGI variable PATH_TRANSLATED.
If the URL does not have any extra path information, this method returns null
or the servlet container cannot translate the virtual path to a real path for any reason (such as when the web application is executed from an archive).
The web container does not decode this string.
String
specifying the real path, or null
if the URL does not have any extra path information Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getPathTranslated().
virtual std::string servlet::HttpServletRequest::getQueryString | ( | ) | const [pure virtual] |
Returns the query string that is contained in the request URL after the path. This method returns null
if the URL does not have a query string. Same as the value of the CGI variable QUERY_STRING.
String
containing the query string or null
if the URL contains no query string. The value is not decoded by the container. Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getQueryString().
virtual std::string servlet::HttpServletRequest::getRemoteUser | ( | ) | const [pure virtual] |
Returns the login of the user making this request, if the user has been authenticated, or null
if the user has not been authenticated. Whether the user name is sent with each subsequent request depends on the browser and type of authentication. Same as the value of the CGI variable REMOTE_USER.
String
specifying the login of the user making this request, or null
if the user login is not known Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getRemoteUser().
virtual std::string servlet::HttpServletRequest::getRequestedSessionId | ( | ) | const [pure virtual] |
Returns the session ID specified by the client. This may not be the same as the ID of the current valid session for this request. If the client did not specify a session ID, this method returns null
.
String
specifying the session ID, or null
if the request did not specify a session IDImplemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getRequestedSessionId().
virtual std::string servlet::HttpServletRequest::getRequestURI | ( | ) | const [pure virtual] |
Returns the part of this request's URL from the protocol name up to the query string in the first line of the HTTP request. The web container does not decode this String. For example:
First line of HTTP request | Returned Value | |
---|---|---|
POST /some/path.html HTTP/1.1 | /some/path.html | |
GET http://foo.bar/a.html HTTP/1.0 | /a.html | |
HEAD /xyz?a=b HTTP/1.1 | /xyz |
To reconstruct an URL with a scheme and host, use HttpUtils#getRequestURL.
String
containing the part of the URL from the protocol name up to the query stringImplemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getRequestURI().
virtual std::string servlet::HttpServletRequest::getRequestURL | ( | ) | const [pure virtual] |
Reconstructs the URL the client used to make the request. The returned URL contains a protocol, server name, port number, and server path, but it does not include query string parameters.
Because this method returns a StringBuffer
, not a string, you can modify the URL easily, for example, to append query parameters.
This method is useful for creating redirect messages and for reporting errors.
StringBuffer
object containing the reconstructed URL Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getRequestURL().
virtual std::string servlet::HttpServletRequest::getServletPath | ( | ) | const [pure virtual] |
Returns the part of this request's URL that calls the servlet. This path starts with a "/" character and includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string. Same as the value of the CGI variable SCRIPT_NAME.
This method will return an empty string ("") if the servlet used to process this request was matched using the "/"* pattern.
String
containing the name or path of the servlet being called, as specified in the request URL, decoded, or an empty string if the servlet used to process the request is matched using the "/"* pattern. Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getServletPath().
virtual HttpSession* servlet::HttpServletRequest::getSession | ( | bool | create = true |
) | [pure virtual] |
Returns the current HttpSession
associated with this request or, if there is no current session and create
is true, returns a new session.
If create
is false
and the request has no valid HttpSession
, this method returns null
.
To make sure the session is properly maintained, you must call this method before the response is committed. If the container is using cookies to maintain session integrity and is asked to create a new session when the response is committed, an IllegalStateException is thrown.
create | true to create a new session for this request if necessary; false to return null if there's no current session |
HttpSession
associated with this request or null
if create
is false
and the request has no valid sessionImplemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getSession().
virtual UploadedFile* servlet::HttpServletRequest::getUploadedFile | ( | const std::string & | ) | [pure virtual] |
Returns named uploaded file
Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::getUploadedFile().
virtual bool servlet::HttpServletRequest::isRequestedSessionIdFromCookie | ( | ) | const [pure virtual] |
Checks whether the requested session ID came in as a cookie.
true
if the session ID came in as a cookie; otherwise, false
Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::isRequestedSessionIdFromCookie().
virtual bool servlet::HttpServletRequest::isRequestedSessionIdFromURL | ( | ) | const [pure virtual] |
Checks whether the requested session ID came in as part of the request URL.
true
if the session ID came in as part of a URL; otherwise, false
Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::isRequestedSessionIdFromURL().
virtual bool servlet::HttpServletRequest::isRequestedSessionIdValid | ( | ) | const [pure virtual] |
Checks whether the requested session ID is still valid.
true
if this request has an id for a valid session in the current session context; false
otherwiseHttpSessionContext
Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::isRequestedSessionIdValid().
virtual bool servlet::HttpServletRequest::isUserInRole | ( | const std::string & | role | ) | const [pure virtual] |
Returns a boolean indicating whether the authenticated user is included in the specified logical "role". Roles and role membership can be defined using deployment descriptors. If the user has not been authenticated, the method returns false
.
role | a String specifying the name of the role |
boolean
indicating whether the user making this request belongs to a given role; false
if the user has not been authenticated Implemented in container::HttpServletRequestImpl, and servlet::HttpServletRequestWrapper.
Referenced by servlet::HttpServletRequestWrapper::isUserInRole().
const std::string servlet::HttpServletRequest::BASIC_AUTH |
String identifier for Basic authentication. Value "BASIC"
Definition at line 95 of file HttpServletRequest.h.
const std::string servlet::HttpServletRequest::CLIENT_CERT_AUTH |
String identifier for Client Certificate authentication. Value "CLIENT_CERT"
Definition at line 103 of file HttpServletRequest.h.
const std::string servlet::HttpServletRequest::DIGEST_AUTH |
String identifier for Digest authentication. Value "DIGEST"
Definition at line 107 of file HttpServletRequest.h.
const std::string servlet::HttpServletRequest::FORM_AUTH |
String identifier for Form authentication. Value "FORM"
Definition at line 99 of file HttpServletRequest.h.