9 #ifndef anna_http_Message_hpp 10 #define anna_http_Message_hpp 62 const std::string&
getVersion()
const {
return a_version; }
81 void setVersion(
const std::string& version) { a_version = version; }
127 return const_cast <
Message*>(
this)->find(type);
145 Header* find(
const char* name) ;
150 void clear() { a_headers.clear(); clearBody(); a_extraParameters.clear();}
168 const_header_iterator
header_begin()
const {
return a_headers.begin(); }
174 const_header_iterator
header_end()
const {
return a_headers.end(); }
186 virtual std::string asString()
const = 0;
210 a_type(type), a_version(
"HTTP/1.1")
215 std::string a_version;
217 std::string a_extraParameters;
219 void codeLine(
const std::string& line) noexcept(
false);
221 void appendExtraParameter(
const std::string& extraParameter) {
222 a_extraParameters +=
' ';
223 a_extraParameters += extraParameter;
226 virtual std::string codeStartLine()
const noexcept(
false) = 0;
static const Header * header(const_header_iterator &ii)
Definition: Message.hpp:202
static T * data(iterator ii)
Definition: Recycler.hpp:233
container::const_iterator const_iterator
Definition: Recycler.hpp:34
Definition: Message.hpp:30
_v
Definition: Version.hpp:27
Recycler< Header >::iterator header_iterator
Definition: Message.hpp:32
header_iterator header_begin()
Definition: Message.hpp:156
Definition: Abstract.hpp:28
Definition: Message.hpp:45
const_header_iterator header_begin() const
Definition: Message.hpp:168
const_header_iterator header_end() const
Definition: Message.hpp:174
Version::_v getVersionAsEnum() const
Definition: Message.hpp:68
header_iterator header_end()
Definition: Message.hpp:162
const Header * find(const Header::Type::_v type) const
Definition: Message.hpp:126
Definition: Message.hpp:26
Message(const Type::_v type)
Definition: Message.hpp:209
_v
Definition: Message.hpp:46
Definition: Recycler.hpp:30
container::iterator iterator
Definition: Recycler.hpp:33
void initialize(const char *buffer, const int size) noexcept(false)
Recycler< Header >::const_iterator const_header_iterator
Definition: Message.hpp:33
Header * createHeader(const Header::Type::_v type) noexcept(false)
Definition: Message.hpp:104
void clear()
Definition: Message.hpp:150
Definition: Message.hpp:47
Message * setBody(const DataBlock &body) noexcept(false)
Definition: Message.hpp:51
static Header * header(header_iterator &ii)
Definition: Message.hpp:194
void setVersion(const std::string &version)
Definition: Message.hpp:81
Type::_v getType() const
Definition: Message.hpp:56
void setVersion(const Version::_v version)
Definition: Message.hpp:87
Definition: Response.hpp:21
Header * createHeader(const std::string &name) noexcept(false)
Definition: Message.hpp:114
const std::string & getVersion() const
Definition: Message.hpp:62
Definition: Message.hpp:87
const std::string & getExtraParameters() const
Definition: Message.hpp:75
Definition: DataBlock.hpp:24