mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-06-30 14:52:23 +08:00
重写Parser代码实现
This commit is contained in:
@@ -181,7 +181,7 @@ void HttpClient::onError(const SockException &ex) {
|
||||
}
|
||||
|
||||
ssize_t HttpClient::onRecvHeader(const char *data, size_t len) {
|
||||
_parser.Parse(data);
|
||||
_parser.parse(data, len);
|
||||
if (_parser.status() == "302" || _parser.status() == "301" || _parser.status() == "303") {
|
||||
auto new_url = Parser::mergeUrl(_url, _parser["Location"]);
|
||||
if (new_url.empty()) {
|
||||
|
||||
@@ -63,14 +63,14 @@ ssize_t HttpSession::onRecvHeader(const char *header, size_t len) {
|
||||
s_func_map.emplace("OPTIONS", &HttpSession::Handle_Req_OPTIONS);
|
||||
});
|
||||
|
||||
_parser.Parse(header);
|
||||
_parser.parse(header, len);
|
||||
CHECK(_parser.url()[0] == '/');
|
||||
|
||||
urlDecode(_parser);
|
||||
string cmd = _parser.method();
|
||||
auto it = s_func_map.find(cmd);
|
||||
if (it == s_func_map.end()) {
|
||||
WarnP(this) << "不支持该命令:" << cmd;
|
||||
WarnP(this) << "Http method not supported: " << cmd;
|
||||
sendResponse(405, true);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user