This commit is contained in:
karenzshea 2016-01-29 17:02:18 -05:00 committed by Patrick Niklaus
parent 262cdd7bc0
commit f5c12ec433
3 changed files with 8 additions and 8 deletions

View File

@ -21,9 +21,6 @@ class RequestParser
public:
RequestParser();
std::tuple<RequestStatus, http::compression_type>
parse(http::request &current_request, char *begin, char *end);
enum class RequestStatus : char
{
valid,
@ -31,6 +28,9 @@ class RequestParser
indeterminate
};
std::tuple<RequestStatus, http::compression_type>
parse(http::request &current_request, char *begin, char *end);
private:
RequestStatus consume(http::request &current_request, const char input);

View File

@ -41,13 +41,13 @@ void Connection::handle_read(const boost::system::error_code &error, std::size_t
// no error detected, let's parse the request
http::compression_type compression_type(http::no_compression);
RequestStatus result;
RequestParser::RequestStatus result;
std::tie(result, compression_type) =
request_parser.parse(current_request, incoming_data_buffer.data(),
incoming_data_buffer.data() + bytes_transferred);
// the request has been parsed
if (result == RequestStatus::yes)
if (result == RequestParser::RequestStatus::valid)
{
current_request.endpoint = TCP_socket.remote_endpoint().address();
request_handler.handle_request(current_request, current_reply);
@ -85,7 +85,7 @@ void Connection::handle_read(const boost::system::error_code &error, std::size_t
strand.wrap(boost::bind(&Connection::handle_write, this->shared_from_this(),
boost::asio::placeholders::error)));
}
else if (result == RequestStatus::no)
else if (result == RequestParser::RequestStatus::invalid)
{ // request is not parseable
current_reply = http::reply::stock_reply(http::reply::bad_request);

View File

@ -19,7 +19,7 @@ RequestParser::RequestParser()
{
}
std::tuple<RequestStatus, http::compression_type>
std::tuple<RequestParser::RequestStatus, http::compression_type>
RequestParser::parse(http::request &current_request, char *begin, char *end)
{
while (begin != end)
@ -39,7 +39,7 @@ RequestParser::parse(http::request &current_request, char *begin, char *end)
return std::make_tuple(result, selected_compression);
}
RequestStatus RequestParser::consume(http::request &current_request, const char input)
RequestParser::RequestStatus RequestParser::consume(http::request &current_request, const char input)
{
switch (state)
{