diff options
Diffstat (limited to 'BrowserSource/Proxy/HTTPParser.h')
| -rw-r--r-- | BrowserSource/Proxy/HTTPParser.h | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/BrowserSource/Proxy/HTTPParser.h b/BrowserSource/Proxy/HTTPParser.h deleted file mode 100644 index e97f896..0000000 --- a/BrowserSource/Proxy/HTTPParser.h +++ /dev/null @@ -1,52 +0,0 @@ -#pragma once - -#include <string> -#include <string_view> -#include <map> - -namespace WebServer { - - // A simple HTTP/1.1 message parser based on RFC 2616. - class HTTPParser - { - public: - HTTPParser(); - - bool Parse(const std::string& raw_http, std::string& err); - - const std::string& GetMethod() const; - const std::string& GetPath() const; - bool GetHeader(const std::string& header, std::string& value) const; - const std::map<std::string, std::string>& GetHeaders() const; - const std::string& GetPayload() const; - - private: - enum ParserState { - PARSER_STATE_START_LINE, - PARSER_STATE_HEADERS, - PARSER_STATE_PAYLOAD, - }; - - bool ParseSegment( - const std::string_view segment, - ParserState& state, - std::string& err); - bool ParseStartLine( - const std::string_view segment, - ParserState& state, - std::string& err); - bool ParseHeaders( - const std::string_view segment, - ParserState& state, - std::string& err); - bool ParsePayload( - const std::string_view segment, - ParserState& state, - std::string& err); - - std::string method_; - std::string path_; - std::map<std::string, std::string> headers_; - std::string payload_; - }; -} |
