33#ifndef _uhal_grammars_HttpResponseGrammar_hpp_
34#define _uhal_grammars_HttpResponseGrammar_hpp_
42#include <boost/fusion/adapted/std_pair.hpp>
43#include <boost/fusion/adapted/struct/adapt_struct.hpp>
44#include <boost/spirit/include/qi_char.hpp>
45#include <boost/spirit/include/qi_grammar.hpp>
75 ( std::string, method )
78 ( std::string, status_string )
79 ( std::string, headers )
80 ( std::vector< uint8_t >, content )
89 struct HttpResponseGrammar : boost::spirit::qi::grammar< std::vector<uint8_t>::iterator , uhal::HttpResponseType() , boost::spirit::ascii::space_type >
92 HttpResponseGrammar();
94 boost::spirit::qi::rule< std::vector<uint8_t>::iterator,
uhal::HttpResponseType(), boost::spirit::ascii::space_type > response;
96 boost::spirit::qi::rule< std::vector<uint8_t>::iterator, std::string(), boost::spirit::ascii::space_type > nospace_sequence;
98 boost::spirit::qi::rule< std::vector<uint8_t>::iterator, std::string(), boost::spirit::ascii::space_type > nonewline_sequence;
100 boost::spirit::qi::rule< std::vector<uint8_t>::iterator, std::string(), boost::spirit::ascii::space_type > noblankline_sequence;
BOOST_FUSION_ADAPT_STRUCT(uhal::HttpResponseType,(std::string, method)(double, version)(int, status)(std::string, status_string)(std::string, headers)(std::vector< uint8_t >, content)) namespace uhal
A boost::fusion adaptive struct used by the boost::qi parser.
std::ostream & operator<<(std::ostream &aStr, const uhal::HttpResponseType &aHttpResponse)
Struct to store an http response received from a server when parsed by boost spirit.
std::string status_string
the response status string
std::string method
the http transport method
std::string headers
parsed headers
int status
the response status
std::vector< uint8_t > content
parsed message content
double version
the http version number