You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
619 B
C++
31 lines
619 B
C++
![]()
7 years ago
|
#include "webcc/http_request_parser.h"
|
||
![]()
8 years ago
|
|
||
|
#include <vector>
|
||
|
#include "boost/algorithm/string.hpp"
|
||
|
|
||
![]()
7 years ago
|
#include "webcc/http_request.h"
|
||
![]()
8 years ago
|
|
||
![]()
7 years ago
|
namespace webcc {
|
||
![]()
8 years ago
|
|
||
|
HttpRequestParser::HttpRequestParser(HttpRequest* request)
|
||
![]()
7 years ago
|
: HttpParser(request), request_(request) {
|
||
![]()
8 years ago
|
}
|
||
|
|
||
![]()
7 years ago
|
bool HttpRequestParser::ParseStartLine(const std::string& line) {
|
||
![]()
8 years ago
|
std::vector<std::string> strs;
|
||
![]()
7 years ago
|
boost::split(strs, line, boost::is_any_of(" "), boost::token_compress_on);
|
||
![]()
8 years ago
|
|
||
|
if (strs.size() != 3) {
|
||
![]()
7 years ago
|
return false;
|
||
![]()
8 years ago
|
}
|
||
|
|
||
![]()
7 years ago
|
request_->set_method(strs[0]);
|
||
|
request_->set_url(strs[1]);
|
||
![]()
8 years ago
|
|
||
![]()
7 years ago
|
// HTTP version is ignored.
|
||
![]()
8 years ago
|
|
||
![]()
7 years ago
|
return true;
|
||
![]()
8 years ago
|
}
|
||
|
|
||
![]()
7 years ago
|
} // namespace webcc
|