httpxx 0.1
Streaming HTTP Parser for C++
|
Common denominator of Request
and Response
classes.
More...
#include <Message.hpp>
Public Member Functions | |
void | clear () |
Empty all request content, but keep allocated buffers. | |
std::size_t | feed (const void *data,::size_t size) |
Feed data to the parser. | |
std::size_t | feed (const char *data,::size_t size) |
Feed data to the parser. | |
bool | complete () const |
Check if the request has been completely parsed. | |
bool | headerscomplete () const |
Check if the request headers have been completely parsed. | |
int | majorversion () const |
Obtain the HTTP version used by the remote peer. | |
int | minorversion () const |
Obtain the HTTP revision used by the remote peer. | |
const Flags | flags () const |
Obtain parser flags. | |
bool | hasheader (const std::string &field) const |
Check if the request included a header named field. | |
std::string | header (const std::string &field) const |
Obtain the value of the header named field. | |
const std::string & | body () const |
Obtain the entire request body. | |
Protected Member Functions | |
Message () | |
Build a fresh, independant HTTP parser. | |
Protected Attributes | |
::http_parser_settings | mySettings |
::http_parser | myParser |
std::string | myCurrentField |
std::string | myCurrentValue |
std::map< std::string, std::string > | myHeaders |
std::string | myBody |
bool | myComplete |
bool | myHeadersComplete |
Common denominator of Request
and Response
classes.
This classes is an implementation detail and should not be instantiated directly. You should use its services through instances of the the Request
and Response
classes instead.
Definition at line 27 of file Message.hpp.
const std::string & http::Message::body | ( | ) | const |
Obtain the entire request body.
complete()
returns true
. Definition at line 155 of file Message.cpp.
std::size_t http::Message::feed | ( | const void * | data, |
::size_t | size | ||
) |
Feed data to the parser.
data | Address of first byte to read. |
size | Number of bytes to read, starting at data. |
Definition at line 105 of file Message.cpp.
std::size_t http::Message::feed | ( | const char * | data, |
::size_t | size | ||
) |
Feed data to the parser.
data | Address of first byte to read. |
size | Number of bytes to read, starting at data. |
Definition at line 110 of file Message.cpp.
const Flags http::Message::flags | ( | ) | const |
Obtain parser flags.
Definition at line 135 of file Message.cpp.
bool http::Message::hasheader | ( | const std::string & | field | ) | const |
Check if the request included a header named field.
field | Name of header to check. |
headerscomplete()
returns true
. Definition at line 140 of file Message.cpp.
std::string http::Message::header | ( | const std::string & | field | ) | const |
Obtain the value of the header named field.
field | Name of header to check. |
headerscomplete()
returns true
. Definition at line 146 of file Message.cpp.
int http::Message::majorversion | ( | ) | const |
Obtain the HTTP version used by the remote peer.
int http::Message::minorversion | ( | ) | const |
Obtain the HTTP revision used by the remote peer.
Definition at line 130 of file Message.cpp.