7#ifndef HTTP_RESPONSE_PARSER_H 
    8#define HTTP_RESPONSE_PARSER_H 
   12#include <boost/shared_ptr.hpp> 
  147    void receiveStartHandler();
 
  155    void versionHTTPHandler(
const char expected_letter,
 
  156                            const unsigned int next_state);
 
  170    void numberStartHandler(
const unsigned int next_state,
 
  171                            const std::string& number_name,
 
  172                            unsigned int* 
const storage);
 
  188    void numberHandler(
const char following_character,
 
  189                       const unsigned int next_state,
 
  190                       const std::string& number_name,
 
  191                       unsigned int* 
const storage);
 
  194    void phraseStartHandler();
 
  197    void phraseHandler();
 
  211    void expectingNewLineHandler(
const unsigned int next_state);
 
  214    void headerLineStartHandler();
 
  217    void headerLwsHandler();
 
  220    void headerNameHandler();
 
  223    void spaceBeforeHeaderValueHandler();
 
  226    void headerValueHandler();
 
 
HttpMessageParserBase(HttpMessage &message)
Constructor.
virtual void defineStates() override
Defines states of the parser.
A generic parser for HTTP responses.
static const int EXPECTING_NEW_LINE1_ST
Parsing first new line (after HTTP status phrase).
HttpResponseParser(HttpResponse &response)
Constructor.
static const int HTTP_VERSION_T1_ST
Parsing first occurrence of "T" in "HTTP".
static const int HEADER_VALUE_ST
Parsing header value.
static const int HTTP_VERSION_MAJOR_START_ST
Starting to parse major HTTP version number.
static const int HTTP_BODY_ST
Parsing body of a HTTP message.
static const int HTTP_VERSION_T2_ST
Parsing second occurrence of "T" in "HTTP".
static const int HEADER_NAME_ST
Parsing header name.
void initModel()
Initialize the state model for parsing.
static const int HTTP_VERSION_H_ST
Parsing letter "H" of "HTTP".
static const int HTTP_STATUS_CODE_START_ST
Starting to parse HTTP status code.
static const int EXPECTING_NEW_LINE3_ST
Expecting second new line marking end of HTTP headers.
static const int RECEIVE_START_ST
State indicating a beginning of parsing.
static const int HTTP_VERSION_P_ST
Parsing letter "P" in "HTTP".
static const int HTTP_VERSION_MINOR_START_ST
Starting to parse minor HTTP version number.
static const int HEADER_LINE_START_ST
static const int HTTP_PHRASE_ST
Parsing HTTP status phrase.
static const int HEADER_LWS_ST
Parsing LWS (Linear White Space), i.e.
static const int SPACE_BEFORE_HEADER_VALUE_ST
Parsing space before header value.
static const int HTTP_VERSION_MAJOR_ST
Parsing major HTTP version number.
static const int HTTP_STATUS_CODE_ST
Parsing HTTP status code.
static const int EXPECTING_NEW_LINE2_ST
Expecting new line after parsing header value.
static const int HTTP_VERSION_MINOR_ST
Parsing minor HTTP version number.
static const int HTTP_VERSION_SLASH_ST
Parsing slash character in "HTTP/Y.X".
static const int HTTP_PHRASE_START_ST
Starting to parse HTTP status phrase.
Represents HTTP response message.
static const int SM_DERIVED_STATE_MIN
Value at which custom states in a derived class should begin.
boost::shared_ptr< HttpResponseParser > HttpResponseParserPtr
Pointer to the HttpResponseParser.
boost::shared_ptr< HttpResponseContext > HttpResponseContextPtr
Pointer to the HttpResponseContext.
Defines the logger used by the top-level component of kea-lfc.