diff options
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; |