cppcms::http::request Class Reference

This class represents all information related to the HTTP/CGI request. More...

`#include <cppcms/http_request.h>`

Inheritance diagram for cppcms::http::request:

## Public Types

typedef std::multimap < std::string, std::string > | form_type
typedef std::map< std::string, cookie > | cookies_type
typedef std::vector < booster::shared_ptr< file > > | files_type

## Public Member Functions

std::string | auth_type ()
unsigned long long | content_length ()
std::string | content_type ()
cppcms::http::content_type | content_type_parsed ()
std::string | gateway_interface ()
std::string | path_info ()
std::string | path_translated ()
std::string | query_string ()
std::string | remote_addr ()
std::string | remote_host ()
std::string | remote_ident ()
std::string | remote_user ()
std::string | request_method ()
std::string | script_name ()
std::string | server_name ()
unsigned | server_port ()
std::string | server_protocol ()
std::string | server_software ()
std::string | http_accept ()
std::string | http_accept_charset ()
std::string | http_accept_encoding ()
std::string | http_accept_language ()
std::string | http_accept_ranges ()
std::string | http_authorization ()
std::string | http_cache_control ()
std::string | http_connection ()
std::string | http_cookie ()
std::string | http_expect ()
std::string | http_form ()
std::string | http_host ()
std::string | http_if_match ()
std::string | http_if_none_match ()
std::pair< bool, unsigned > | http_max_forwards ()
std::string | http_pragma ()
std::string | http_proxy_authorization ()
std::string | http_range ()
std::string | http_referer ()
std::string | http_te ()
std::string | http_upgrade ()
std::string | http_user_agent ()
std::string | http_via ()
std::string | http_warn ()
std::string | getenv (std::string const &)
std::string | getenv (char const *)
char const * | cgetenv (char const *)
std::map< std::string, std::string > | getenv ()
cookies_type const & | cookies ()
cookie const & | cookie_by_name (std::string const &name)
std::string | get (std::string const &name)
std::string | post (std::string const &name)
form_type const & | get ()
form_type const & | post ()
form_type const & | post_or_get ()
files_type | files ()
std::pair< void *, size_t > | raw_post_data ()

## Friends

class | impl::cgi::connection

## Detailed Description

This class represents all information related to the HTTP/CGI request.

It is usually accessed via http::context or application class

## Member Typedef Documentation

typedef std::map<std::string,cookie> cppcms::http::request::cookies_type

Type of a map of cookie name to the cookie value

typedef std::vector<booster::shared_ptr<file> > cppcms::http::request::files_type

Type that represents all files uploaded in this request

typedef std::multimap<std::string,std::string> cppcms::http::request::form_type

Type that represents from-data key-value pairs

## Member Function Documentation

std::string cppcms::http::request::auth_type | ( |  | ) |

CGI AUTH_TYPE environment variable

char const* cppcms::http::request::cgetenv | ( | char const * |  | ) |

Get CGI environment variable by name. Returns empty string if the variable is not set

unsigned long long cppcms::http::request::content_length | ( |  | ) |

CGI CONTENT_LENGTH environment variable

std::string cppcms::http::request::content_type | ( |  | ) |

CGI CONTENT_TYPE environment variable

cppcms::http::content_type cppcms::http::request::content_type_parsed | ( |  | ) |

Parsed CGI CONTENT_TYPE environment variable

cookie const& cppcms::http::request::cookie_by_name | ( | std::string const & | name | ) |

Get cookie by its name, if not assigned returns empty cookie

cookies_type const& cppcms::http::request::cookies | ( |  | ) |

Get all cookies sent with this request

files_type cppcms::http::request::files | ( |  | ) |

Get all uploaded files

std::string cppcms::http::request::gateway_interface | ( |  | ) |

CGI GATEWAY_INTERFACE environment variable

std::string cppcms::http::request::get | ( | std::string const & | name | ) |

Fetch GET value by name, if name not exists or more then one entry with same name exists, empty string is returned

form_type const& cppcms::http::request::get | ( |  | ) |

form-data GET part of request

std::string cppcms::http::request::getenv | ( | std::string const & |  | ) |

Get CGI environment variable by name. Returns empty string if the variable is not set

std::string cppcms::http::request::getenv | ( | char const * |  | ) |

Get CGI environment variable by name. Returns empty string if the variable is not set

std::map<std::string,std::string> cppcms::http::request::getenv | ( |  | ) |

Get map of all CGI environment variable as key-value pairs.

std::string cppcms::http::request::http_accept | ( |  | ) |

CGI HTTP_ACCEPT variable representing Accept HTTP header

std::string cppcms::http::request::http_accept_charset | ( |  | ) |

CGI HTTP_ACCEPT_CHARSET variable representing Accept-Charset HTTP header

std::string cppcms::http::request::http_accept_encoding | ( |  | ) |

CGI HTTP_ACCEPT_ENCODING variable representing Accept-Encoding HTTP header

std::string cppcms::http::request::http_accept_language | ( |  | ) |

CGI HTTP_ACCEPT_LANGUAGE variable representing Accept-Language HTTP header

std::string cppcms::http::request::http_accept_ranges | ( |  | ) |

CGI HTTP_ACCEPT_RANGES variable representing Accept-Ranges HTTP header

std::string cppcms::http::request::http_authorization | ( |  | ) |

CGI HTTP_AUTHORIZATION variable representing Authorization HTTP header

std::string cppcms::http::request::http_cache_control | ( |  | ) |

CGI HTTP_CACHE_CONTROL variable representing Cache-Control HTTP header

std::string cppcms::http::request::http_connection | ( |  | ) |

CGI HTTP_CONNECTION variable representing Connection HTTP header

std::string cppcms::http::request::http_cookie | ( |  | ) |

CGI HTTP_COOKIE variable representing Cookie HTTP header

std::string cppcms::http::request::http_expect | ( |  | ) |

CGI HTTP_EXPECT variable representing Expect HTTP header

std::string cppcms::http::request::http_form | ( |  | ) |

CGI HTTP_FORM variable representing Form HTTP header

std::string cppcms::http::request::http_host | ( |  | ) |

CGI HTTP_HOST variable representing Host HTTP header

std::string cppcms::http::request::http_if_match | ( |  | ) |

CGI HTTP_IF_MATCH variable representing If-Match HTTP header

std::string cppcms::http::request::http_if_none_match | ( |  | ) |

CGI HTTP_IF_NONE_MATCH variable representing If-None-Match HTTP header

std::pair<bool,unsigned> cppcms::http::request::http_max_forwards | ( |  | ) |

GGI HTTP_MAX_FORWARDS variable representing Http-Max-Forwards

Returns a pair of {true,HTTP_MAX_FORWARDS} if set or {false,0} otherwise

std::string cppcms::http::request::http_pragma | ( |  | ) |

CGI HTTP_PRAGMA variable representing Pragma HTTP header

std::string cppcms::http::request::http_proxy_authorization | ( |  | ) |

CGI HTTP_PROXY_AUTHORIZATION variable representing Proxy-Authorization HTTP header

std::string cppcms::http::request::http_range | ( |  | ) |

CGI HTTP_RANGE variable representing Range HTTP header

std::string cppcms::http::request::http_referer | ( |  | ) |

CGI HTTP_REFERER variable representing Referer HTTP header

std::string cppcms::http::request::http_te | ( |  | ) |

CGI HTTP_TE variable representing Te HTTP header

std::string cppcms::http::request::http_upgrade | ( |  | ) |

CGI HTTP_UPGRADE variable representing Upgrade HTTP header

std::string cppcms::http::request::http_user_agent | ( |  | ) |

CGI HTTP_USER_AGENT variable representing User-Agent HTTP header

std::string cppcms::http::request::http_via | ( |  | ) |

CGI HTTP_VIA variable representing Via HTTP header

std::string cppcms::http::request::http_warn | ( |  | ) |

CGI HTTP_WARN variable representing Warn HTTP header

std::string cppcms::http::request::path_info | ( |  | ) |

CGI PATH_INFO environment variable

std::string cppcms::http::request::path_translated | ( |  | ) |

CGI PATH_TRANSLATED environment variable

std::string cppcms::http::request::post | ( | std::string const & | name | ) |

Fetch POST value by name, if name not exists or more then one entry with same name exists, empty string is returned

form_type const& cppcms::http::request::post | ( |  | ) |

form-data POST part of request

form_type const& cppcms::http::request::post_or_get | ( |  | ) |

form-data POST or GET according to reuqest_method()

Referenced by cppcms::widgets::numeric< T >::load().

std::string cppcms::http::request::query_string | ( |  | ) |

CGI QUERY_STRING environment variable

std::pair<void *,size_t> cppcms::http::request::raw_post_data | ( |  | ) |

Access to raw bits of POST data. If the POST request is empty or the request_type in not POST {NULL,0} will be returned.

Note: when processing multipart/form-data POST request this function will always return {NULL,0} as such requests maybe huge (file uploads of multiple hundreds of MB or even GB) that are would be stored in temporary files instead of memory. In order to get access to POST data you'll have to use post(), get(), or files() member functions.

std::string cppcms::http::request::remote_addr | ( |  | ) |

CGI REMOTE_ADDR environment variable

std::string cppcms::http::request::remote_host | ( |  | ) |

CGI REMOTE_HOST environment variable

std::string cppcms::http::request::remote_ident | ( |  | ) |

CGI REMOTE_IDENT environment variable

std::string cppcms::http::request::remote_user | ( |  | ) |

CGI REMOTE_USER environment variable

std::string cppcms::http::request::request_method | ( |  | ) |

CGI REQUEST_METHOD environment variable

std::string cppcms::http::request::script_name | ( |  | ) |

CGI SCRIPT_NAME environment variable

std::string cppcms::http::request::server_name | ( |  | ) |

CGI SERVER_NAME environment variable

unsigned cppcms::http::request::server_port | ( |  | ) |

CGI SERVER_PORT environment variable

std::string cppcms::http::request::server_protocol | ( |  | ) |

CGI SERVER_PROTOCOL environment variable

std::string cppcms::http::request::server_software | ( |  | ) |

CGI SERVER_SOFTWARE environment variable

The documentation for this class was generated from the following file:

- cppcms/http_request.h