diff options
author | 2016-11-23 08:37:05 +0100 | |
---|---|---|
committer | 2016-11-23 08:37:05 +0100 | |
commit | dbbd5e9c983f4fec4476855ac8571376062390d8 (patch) | |
tree | d42cc8c51030f8b7a481c35a1393962eafea484a /src/lib/http/request_parser.hpp | |
parent | 67452fff5652fcc9f31fd691c1c435cce16911f6 (diff) |
As promised, removing this part of code since it is used for compilers check, no need for this to be in release (nw)
Diffstat (limited to 'src/lib/http/request_parser.hpp')
-rw-r--r-- | src/lib/http/request_parser.hpp | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/src/lib/http/request_parser.hpp b/src/lib/http/request_parser.hpp deleted file mode 100644 index 828091c6bd3..00000000000 --- a/src/lib/http/request_parser.hpp +++ /dev/null @@ -1,89 +0,0 @@ -// license:Boost -// copyright-holders:Christopher M. Kohlhoff - -#ifndef HTTP_REQUEST_PARSER_HPP -#define HTTP_REQUEST_PARSER_HPP - -#include <tuple> - -namespace http { -namespace server { - -struct request; - -/// Parser for incoming requests. -class request_parser -{ -public: - /// Construct ready to parse the request method. - request_parser(); - - /// Reset to initial parser state. - void reset(); - - /// Result of parse. - enum result_type { good, bad, indeterminate }; - - /// Parse some data. The enum return value is good when a complete request has - /// been parsed, bad if the data is invalid, indeterminate when more data is - /// required. The InputIterator return value indicates how much of the input - /// has been consumed. - template <typename InputIterator> - std::tuple<result_type, InputIterator> parse(request& req, - InputIterator begin, InputIterator end) - { - while (begin != end) - { - result_type result = consume(req, *begin++); - if (result == good || result == bad) - return std::make_tuple(result, begin); - } - return std::make_tuple(indeterminate, begin); - } - -private: - /// Handle the next character of input. - result_type consume(request& req, char input); - - /// Check if a byte is an HTTP character. - static bool is_char(int c); - - /// Check if a byte is an HTTP control character. - static bool is_ctl(int c); - - /// Check if a byte is defined as an HTTP tspecial character. - static bool is_tspecial(int c); - - /// Check if a byte is a digit. - static bool is_digit(int c); - - /// The current state of the parser. - enum state - { - method_start, - method, - uri, - http_version_h, - http_version_t_1, - http_version_t_2, - http_version_p, - http_version_slash, - http_version_major_start, - http_version_major, - http_version_minor_start, - http_version_minor, - expecting_newline_1, - header_line_start, - header_lws, - header_name, - space_before_header_value, - header_value, - expecting_newline_2, - expecting_newline_3 - } m_state; -}; - -} // namespace server -} // namespace http - -#endif // HTTP_REQUEST_PARSER_HPP |