Fawkes API
Fawkes Development Version
|
#include <>>
Public Types | |
enum | Method { METHOD_CONNECT, METHOD_DELETE, METHOD_GET, METHOD_HEAD, METHOD_OPTIONS, METHOD_POST, METHOD_PUT, METHOD_TRACE, METHOD_PATCH } |
HTTP transfer methods. More... | |
enum | HttpVersion { HTTP_VERSION_1_0, HTTP_VERSION_1_1 } |
HTTP version. More... | |
Public Member Functions | |
WebRequest (const char *uri) | |
Constructor. More... | |
~WebRequest () | |
Destructor. More... | |
const std::string & | url () const |
Get URL. More... | |
const std::string & | uri () const |
Get URI. More... | |
Method | method () const |
Get HTTP transfer method. More... | |
const char * | method_str () const |
Get method as string. More... | |
HttpVersion | http_version () const |
Get HTTP version. More... | |
const char * | http_version_str () const |
Get HTTP version as string. More... | |
const Time & | time () const |
Get request time. More... | |
const std::string & | user () const |
Get name of authenticated user (basic auth). More... | |
const std::string & | client_addr () const |
Get client address as string. More... | |
const std::map< std::string, std::string > & | cookies () const |
Get map of cookies. More... | |
std::string | cookie (std::string &key) const |
Get specific cookie. More... | |
bool | has_cookie (std::string key) const |
Check if the named cookie has been received. More... | |
const std::map< std::string, std::string > & | post_values () const |
Get map of POST values. More... | |
std::string | post_value (std::string &key) const |
Get specific POST value. More... | |
std::string | post_value (const char *key) const |
Get specific POST value. More... | |
bool | has_post_value (std::string key) const |
Check if the named post value has been received. More... | |
const std::map< std::string, std::string > & | get_values () const |
Get map of GET values. More... | |
std::string | get_value (std::string &key) const |
Get specific GET value. More... | |
std::string | get_value (const char *key) const |
Get specific GET value. More... | |
bool | has_get_value (std::string key) const |
Check if the named get value has been received. More... | |
const std::map< std::string, std::string > & | headers () const |
Get map of header values. More... | |
std::string | header (std::string &key) const |
Header specific header value. More... | |
std::string | header (const char *key) const |
Get specific header value. More... | |
bool | has_header (std::string key) const |
Check if the named header value has been received. More... | |
void | set_cookie (const std::string &key, const std::string &value) |
Set a cookie. More... | |
void | set_post_value (const char *key, const char *data, size_t size) |
Set a POST value. More... | |
void | set_get_value (const std::string &key, const std::string &value) |
Set a GET value. More... | |
void | set_header (const std::string &key, const std::string &value) |
Set a header value. More... | |
std::string | path_arg (const std::string &what) const |
Get a path argument. More... | |
void | set_path_args (std::map< std::string, std::string > &&args) |
Set path arguments. More... | |
const std::string & | body () const |
Get body of request. More... | |
void | increment_reply_size (size_t increment_by) |
Increment reply bytes counter. More... | |
size_t | reply_size () const |
Get number of bytes actually sent out so far. More... | |
WebReply::Code | reply_code () const |
Get HTTP code of reply. More... | |
void | set_reply_code (WebReply::Code code) |
Set HTTP code of the final reply. More... | |
Protected Member Functions | |
void | set_cookies (const std::map< std::string, std::string > &cookies) |
Set cookie map. More... | |
void | set_body (const char *data, size_t data_size) |
Set request body. More... | |
void | addto_body (const char *data, size_t data_size) |
Add to request body. More... | |
void | finish_body () |
Finalize body handling. More... | |
Web request meta data carrier. For incoming web requests this class is instantiate to carry the necessary information for carriers like URL, request method, or cookie and POST form values.
fawkes::WebRequest::WebRequest | ( | const char * | uri | ) |
fawkes::WebRequest::~WebRequest | ( | ) |
Destructor.
Definition at line 169 of file request.cpp.
|
protected |
Add to request body.
The data is copied as is without assuming a human-readable string or even just zero-termination.
data | data to copy |
data_size | size in bytes of @p data |
Definition at line 212 of file request.cpp.
|
inline |
Get body of request.
Definition at line 324 of file request.h.
Referenced by XmlRpcRequestProcessor::process_request().
|
inline |
|
inline |
|
inline |
Get map of cookies.
Definition at line 125 of file request.h.
Referenced by set_cookies().
|
protected |
Finalize body handling.
Check for zero termination of body, and if it does not exist, add it.
Definition at line 221 of file request.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Check if the named header value has been received.
key | key of the requested header |
Definition at line 255 of file request.h.
Referenced by MetricsRequestProcessor::process_request().
|
inline |
|
inline |
|
inline |
Header specific header value.
key | key of the header value |
Definition at line 235 of file request.h.
Referenced by MetricsRequestProcessor::process_request().
|
inline |
|
inline |
const char * fawkes::WebRequest::http_version_str | ( | ) | const |
Get HTTP version as string.
Definition at line 271 of file request.cpp.
void fawkes::WebRequest::increment_reply_size | ( | size_t | increment_by | ) |
Increment reply bytes counter.
increment_by | number of bytes sent |
Definition at line 234 of file request.cpp.
Referenced by fawkes::dynamic_reply_data_cb().
|
inline |
Get HTTP transfer method.
Definition at line 83 of file request.h.
Referenced by XmlRpcRequestProcessor::process_request().
const char * fawkes::WebRequest::method_str | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
WebReply::Code fawkes::WebRequest::reply_code | ( | ) | const |
size_t fawkes::WebRequest::reply_size | ( | ) | const |
Get number of bytes actually sent out so far.
Definition at line 243 of file request.cpp.
|
protected |
Set request body.
The data is copied as is without assuming a human-readable string or even just zero-termination.
data | data to copy |
data_size | size in bytes of @p data |
Definition at line 200 of file request.cpp.
|
inline |
|
inlineprotected |
|
inline |
|
inline |
|
inline |
void fawkes::WebRequest::set_post_value | ( | const char * | key, |
const char * | data, | ||
size_t | size | ||
) |
Set a POST value.
key | key of the value |
data | data of the value |
size | size in bytes of data |
Definition at line 183 of file request.cpp.
void fawkes::WebRequest::set_reply_code | ( | WebReply::Code | code | ) |
Set HTTP code of the final reply.
code | reply code |
Definition at line 284 of file request.cpp.
|
inline |
|
inline |
|
inline |
|
inline |