websocketpp  0.3.0
C++/Boost Asio based websocket client/server library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Types | Public Member Functions | List of all members
websocketpp::http::parser::response Class Reference

Stores, parses, and manipulates HTTP responses. More...

#include <response.hpp>

Inheritance diagram for websocketpp::http::parser::response:
websocketpp::http::parser::parser

Public Types

typedef response type
 
typedef lib::shared_ptr< typeptr
 

Public Member Functions

size_t consume (const char *buf, size_t len)
 Process bytes in the input buffer. More...
 
size_t consume (std::istream &s)
 
bool ready () const
 Returns true if the response is ready. More...
 
bool headers_ready () const
 Returns true if the response headers are fully parsed.
 
bool parse_complete (std::istream &s)
 DEPRECATED parse a complete response from a pre-delimited istream.
 
std::string raw () const
 Returns the full raw response.
 
void set_status (status_code::value code)
 Set response status code and message. More...
 
void set_status (status_code::value code, const std::string &msg)
 Set response status code and message. More...
 
status_code::value get_status_code () const
 Return the response status code.
 
const std::string & get_status_msg () const
 Return the response status message.
 
- Public Member Functions inherited from websocketpp::http::parser::parser
std::string const & get_version () const
 Get the HTTP version string. More...
 
void set_version (std::string const &version)
 Set HTTP parser Version. More...
 
std::string const & get_header (std::string const &key) const
 Get the value of an HTTP header. More...
 
bool get_header_as_plist (std::string const &key, parameter_list &out) const
 Extract an HTTP parameter list from a parser header. More...
 
void append_header (std::string const &key, std::string const &val)
 Append a value to an existing HTTP header. More...
 
void replace_header (std::string const &key, std::string const &val)
 Set a value for an HTTP header, replacing an existing value. More...
 
void remove_header (std::string const &key)
 Remove a header from the parser. More...
 
std::string const & get_body () const
 Set HTTP body. More...
 
void set_body (std::string const &value)
 Set body content. More...
 
bool parse_parameter_list (std::string const &in, parameter_list &out) const
 Extract an HTTP parameter list from a string. More...
 

Additional Inherited Members

- Protected Member Functions inherited from websocketpp::http::parser::parser
bool parse_headers (std::istream &s)
 Parse headers from an istream. More...
 
void process_header (std::string::iterator begin, std::string::iterator end)
 Process a header line. More...
 
std::string raw_headers () const
 Generate and return the HTTP headers as a string. More...
 
- Protected Attributes inherited from websocketpp::http::parser::parser
std::string m_version
 
header_list m_headers
 
std::string m_body
 

Detailed Description

Stores, parses, and manipulates HTTP responses.

http::response provides the following functionality for working with HTTP responses.

http::response checks for header completeness separately from the full response. Once the header is complete, the Content-Length header is read to determine when to stop reading body bytes. If no Content-Length is present ready() will never return true. It is the responsibility of the caller to consume to determine when the response is complete (ie when the connection terminates, or some other metric).

Definition at line 54 of file response.hpp.

Member Function Documentation

size_t websocketpp::http::parser::response::consume ( const char *  buf,
size_t  len 
)
inline

Process bytes in the input buffer.

Process up to len bytes from input buffer buf. Returns the number of bytes processed. Bytes left unprocessed means bytes left over after the final header delimiters.

Consume is a streaming processor. It may be called multiple times on one response and the full headers need not be available before processing can begin. If the end of the response was reached during this call to consume the ready flag will be set. Further calls to consume once ready will be ignored.

Consume will throw an http::exception in the case of an error. Typical error reasons include malformed responses, incomplete responses, and max header size being reached.

Parameters
bufPointer to byte buffer
lenSize of byte buffer
Returns
Number of bytes processed.

Definition at line 40 of file response.hpp.

bool websocketpp::http::parser::response::ready ( ) const
inline

Returns true if the response is ready.

Note
will never return true if the content length header is not present

Definition at line 93 of file response.hpp.

void websocketpp::http::parser::response::set_status ( status_code::value  code)
inline

Set response status code and message.

Sets the response status code to code and looks up the corresponding message for standard codes. Non-standard codes will be entered as Unknown use set_status(status_code::value,std::string) overload to set both values explicitly.

Parameters
codeCode to set
msgMessage to set

Definition at line 214 of file response.hpp.

void websocketpp::http::parser::response::set_status ( status_code::value  code,
const std::string &  msg 
)
inline

Set response status code and message.

Sets the response status code and message to independent custom values. use set_status(status_code::value) to set the code and have the standard message be automatically set.

Parameters
codeCode to set
msgMessage to set

Definition at line 220 of file response.hpp.


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