diff options
author | ipknHama <ipknhama@gmail.com> | 2014-05-02 21:54:25 +0900 |
---|---|---|
committer | ipknHama <ipknhama@gmail.com> | 2014-07-09 14:08:40 +0900 |
commit | c19eed028535b847489ca03a43fc4dc42e7451cf (patch) | |
tree | 620867e8b8edbeefea0ac6a56ed7b4ab6635c884 /parser.h | |
parent | 23f9b528586610c43be8bccbe50e978afd47dfec (diff) | |
download | crow-c19eed028535b847489ca03a43fc4dc42e7451cf.tar.gz crow-c19eed028535b847489ca03a43fc4dc42e7451cf.zip |
add support for "Expect: 100-continue"
Diffstat (limited to 'parser.h')
-rw-r--r-- | parser.h | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -66,6 +66,7 @@ namespace crow boost::algorithm::to_lower(self->header_field); self->headers.emplace(std::move(self->header_field), std::move(self->header_value)); } + self->process_header(); return 0; } static int on_body(http_parser* self_, const char* at, size_t length) @@ -118,16 +119,26 @@ namespace crow body.clear(); } + void process_header() + { + handler_->handle_header(); + } + void process_message() { handler_->handle(); } - request to_request() + request to_request() const { return request{(HTTPMethod)method, std::move(url), std::move(headers), std::move(body)}; } + bool check_version(int major, int minor) const + { + return http_major == major && http_minor == minor; + } + std::string url; int header_building_state = 0; std::string header_field; |