Wt: Wt::Http::Request Class Reference

Wt 3.3.0

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Hierarchy
- Class Members

Classes | Public Types | Public Member Functions
Wt::Http::Request Class Reference
HTTP protocol (Wt::Http)

A resource request. More...

`#include <Wt/Http/Request>`

List of all members.

## 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.
## Public Member Functions
const ParameterMap & | getParameterMap () const
| Returns the query parameters.
const UploadedFileMap & | uploadedFiles () const
| Returns uploaded file parameters.
const ParameterValues & | getParameterValues (const std::string &name) const
| Returns all values for a query parameter.
const std::string * | getParameter (const std::string &name) const
| Returns a query parameter value.
const UploadedFile * | getUploadedFile (const std::string &name) const
| Returns an uploaded file.
::int64_t | tooLarge () const
| Returns a non-zero value that exceeded the maximum allowed request.
ResponseContinuation * | continuation () const
| Returns a continuation object.
std::string | serverName () const
| Returns the (public) server name.
std::string | serverPort () const
| Returns the server port.
std::string | path () const
| Returns the request path.
std::string | pathInfo () const
| Returns the request path info.
std::string | queryString () const
| Returns the request query string.
std::string | urlScheme () const
| Returns the url scheme used.
std::istream & | in () const
| Returns the input stream for parsing the body.
std::string | contentType () const
| Returns the "Content Type" of the request body.
int | contentLength () const
| Returns the "Content Length" of the request body.
std::string | userAgent () const
| Returns the user agent.
std::string | clientAddress () const
| Returns the IP address of the client.
const CookieMap & | cookies () const
| Returns the cookies.
const std::string * | getCookieValue (const std::string &cookieName) const
| Returns a cookie value.
std::string | headerValue (const std::string &field) const
| Returns a header value.
std::string | method () const
| Returns the request method.
ByteRangeSpecifier | getRanges (::int64_t filesize) const
| Returns the requested ranges as in the HTTP Range header.
WSslInfo * | sslInfo () const
| Returns information on the SSL client certificate or `0` if no authentication took place.

## Detailed Description

A resource request.

The request provides information of parameters, including uploaded files, that were present in a request to a WResource.

See also:
  WResource::handleRequest()

## Member Typedef Documentation

typedef std::map<std::string, std::string> Wt::Http::Request::CookieMap

Cookie map type.

A map which associates a cookie name with a cookie value.

See also:
  cookies()

## Member Function Documentation

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.

See also:
  in()

std::string Wt::Http::Request::contentType | ( |  | ) | const

Returns the "Content Type" of the request body.

See also:
  in()

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.

See also:
  Response::createContinuation()

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.

See also:
  getCookieValue()

const std::string * Wt::Http::Request::getCookieValue | ( | const std::string & | cookieName | ) | const

Returns a cookie value.

Returns 0 if no value was set for the given cookie.

See also:
  cookies()

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.

See also:
  uploadedFiles()

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&param=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::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.

Note:
  Currently, the header name is case sensitive, although this should not be the case according to RFC2616

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.

See also:
  pathInfo()

std::string Wt::Http::Request::pathInfo | ( |  | ) | const

Returns the request path info.

Returns additional path information internal to the path().

See also:
  pathInfo()

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.

See also:
  serverPort()

std::string Wt::Http::Request::serverPort | ( |  | ) | const

Returns the server port.

Returns the server port number through which this request was received.

See also:
  serverName()

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.

See also:
  WEnvironment::sslInfo()

int64_t Wt::Http::Request::tooLarge | ( |  | ) | const

Returns a non-zero value that exceeded the maximum allowed request.

See also:
  WApplication::requestTooLarge

const UploadedFileMap& Wt::Http::Request::uploadedFiles | ( |  | ) | const

Returns uploaded file parameters.

See also:
  getParameterMap()

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.

All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator