Wt
3.3.8
|
A resource request. More...
#include <Wt/Http/Request>
Classes | |
class | ByteRange |
A single byte range. More... | |
class | ByteRangeSpecifier |
A byte range specifier. More... | |
Public Types | |
typedef std::map< std::string, std::string > | CookieMap |
Cookie map type. More... | |
Public Member Functions | |
const ParameterMap & | getParameterMap () const |
Returns the query parameters. More... | |
const UploadedFileMap & | uploadedFiles () const |
Returns uploaded file parameters. More... | |
const ParameterValues & | getParameterValues (const std::string &name) const |
Returns all values for a query parameter. More... | |
const std::string * | getParameter (const std::string &name) const |
Returns a query parameter value. More... | |
const UploadedFile * | getUploadedFile (const std::string &name) const |
Returns an uploaded file. More... | |
::int64_t | tooLarge () const |
Returns a non-zero value that exceeded the maximum allowed request. More... | |
ResponseContinuation * | continuation () const |
Returns a continuation object. More... | |
std::string | serverName () const |
Returns the (public) server name. More... | |
std::string | serverPort () const |
Returns the server port. More... | |
std::string | path () const |
Returns the request path. More... | |
std::string | pathInfo () const |
Returns the request path info. More... | |
std::string | queryString () const |
Returns the request query string. | |
std::string | urlScheme () const |
Returns the url scheme used. More... | |
std::istream & | in () const |
Returns the input stream for parsing the body. More... | |
std::string | contentType () const |
Returns the "Content Type" of the request body. More... | |
int | contentLength () const |
Returns the "Content Length" of the request body. More... | |
std::string | userAgent () const |
Returns the user agent. More... | |
std::string | clientAddress () const |
Returns the IP address of the client. More... | |
const CookieMap & | cookies () const |
Returns the cookies. More... | |
const std::string * | getCookieValue (const std::string &cookieName) const |
Returns a cookie value. More... | |
std::string | headerValue (const std::string &field) const |
Returns a header value. More... | |
std::vector< Message::Header > | headers () const |
Returns all headers. More... | |
std::string | getCgiValue (const std::string &varName) const |
Returns a raw CGI environment variable. More... | |
std::string | method () const |
Returns the request method. More... | |
ByteRangeSpecifier | getRanges (::int64_t filesize) const |
Returns the requested ranges as in the HTTP Range header. More... | |
WSslInfo * | sslInfo () const |
Returns information on the SSL client certificate or 0 if no authentication took place. More... | |
A resource request.
The request provides information of parameters, including uploaded files, that were present in a request to a WResource.
typedef std::map<std::string, std::string> Wt::Http::Request::CookieMap |
std::string Wt::Http::Request::clientAddress | ( | ) | const |
Returns the IP address of the client.
The (most likely) IP address of the client that is connected to this session.
This is taken to be the first public address that is given in the Client-IP header, or in the X-Forwarded-For header (in case the client is behind a proxy). If none of these headers is present, the remote socket IP address is used.
int Wt::Http::Request::contentLength | ( | ) | const |
Returns the "Content Length" of the request body.
std::string Wt::Http::Request::contentType | ( | ) | const |
Returns the "Content Type" of the request body.
ResponseContinuation* Wt::Http::Request::continuation | ( | ) | const |
Returns a continuation object.
Returns a non-zero continuation object if the request is a continuation request for an earlier response for which a continuation was created.
const CookieMap& Wt::Http::Request::cookies | ( | ) | const |
Returns the cookies.
This returns all cookies set for this request.
Not all clients may support cookies or have cookies enabled.
std::string Wt::Http::Request::getCgiValue | ( | const std::string & | varName | ) | const |
Returns a raw CGI environment variable.
Retrieves the value for the given CGI environment variable (like "SSL_CLIENT_S_DN_CN"
), if it is defined, otherwise an empty string.
const std::string * Wt::Http::Request::getCookieValue | ( | const std::string & | cookieName | ) | const |
const std::string * Wt::Http::Request::getParameter | ( | const std::string & | name | ) | const |
Returns a query parameter value.
Returns the first value defined for a parameter named name
or 0
if the paramter does not exist.
const ParameterMap& Wt::Http::Request::getParameterMap | ( | ) | const |
Returns the query parameters.
Returns parameters that were passed to the query, either inside the URL, or inside a POST request, excluding uploaded files.
const ParameterValues & Wt::Http::Request::getParameterValues | ( | const std::string & | name | ) | const |
Returns all values for a query parameter.
Returns all values defined for a parameter named name
. A single parameter may have multiple values, e.g. in the query string '?param=value1¶m=value2'.
Returns an empty list if the query parameter does not exist.
Request::ByteRangeSpecifier Wt::Http::Request::getRanges | ( | ::int64_t | filesize | ) | const |
Returns the requested ranges as in the HTTP Range header.
The filesize is used to adapt the ranges to the actual file size as per rules of RFC 2616. If the file size is unknown, pass -1.
You should check if the ranges are satisfiable using ByteRangeSpecifier::isSatisfiable().
const UploadedFile * Wt::Http::Request::getUploadedFile | ( | const std::string & | name | ) | const |
Returns an uploaded file.
Returns the file uploaded for a parameter named name
or 0
if the parameter does not contain does not exist or was not associated with a file input field.
std::vector< Message::Header > Wt::Http::Request::headers | ( | ) | const |
Returns all headers.
std::string Wt::Http::Request::headerValue | ( | const std::string & | field | ) | const |
Returns a header value.
Returns a header value, or an empty string if the header was present.
std::istream & Wt::Http::Request::in | ( | ) | const |
Returns the input stream for parsing the body.
If the request was a POST with as contentType() "application/x-www-form-urlencoded" or "multipart/form-data", the input stream will already have been consumed by Wt's CGI parser, and made available as parameters in the request.
std::string Wt::Http::Request::method | ( | ) | const |
Returns the request method.
Returns the HTTP request method ("GET", "POST", or other).
std::string Wt::Http::Request::path | ( | ) | const |
Returns the request path.
Returns the path at which this request was received (excluding internal path information): it is the path at which the application or resource is deployed.
std::string Wt::Http::Request::pathInfo | ( | ) | const |
Returns the request path info.
Returns additional path information internal to the path().
std::string Wt::Http::Request::serverName | ( | ) | const |
Returns the (public) server name.
Returns the public server name. This is the server name that is advertised to outside, which is determined in a OS specific way.
std::string Wt::Http::Request::serverPort | ( | ) | const |
Returns the server port.
Returns the server port number through which this request was received.
WSslInfo * Wt::Http::Request::sslInfo | ( | ) | const |
Returns information on the SSL client certificate or 0
if no authentication took place.
This function will return 0
if no verification took place, Wt was compiled without SSL support, or the web server was configured without client SSL certificates.
This method may return a pointer to a WSslInfo object, while the authentication may have failed. This depends on the configuration of the web server. It is therefore important to always check the verification result with WSslInfo::clientVerificationResult().
Session-bound resources will probably not use this method, but rely on the validation done at the start of the session (see sslInfo() in WEnvironment). Static resources on the other hand don't have an associated session, so using this method you can perform client authentication verification.
The object returned is owned by Request and will be deleted when the Request object is destroyed.
int64_t Wt::Http::Request::tooLarge | ( | ) | const |
Returns a non-zero value that exceeded the maximum allowed request.
const UploadedFileMap& Wt::Http::Request::uploadedFiles | ( | ) | const |
Returns uploaded file parameters.
std::string Wt::Http::Request::urlScheme | ( | ) | const |
Returns the url scheme used.
This is either "http"
or "https"
std::string Wt::Http::Request::userAgent | ( | ) | const |
Returns the user agent.
The user agent, as reported in the HTTP User-Agent
field.