修正:核心服务接收POST请求时也对请求数据做URL解码会导致错误。

pull/130/head
Apex Liu 2018-12-19 16:19:42 +08:00
parent 26d0b79017
commit 44d693a453
1 changed files with 17 additions and 15 deletions

View File

@ -176,13 +176,8 @@ ex_rv TsHttpRpc::_parse_request(struct http_message* req, ex_astr& func_cmd, Jso
return TPE_HTTP_METHOD; return TPE_HTTP_METHOD;
ex_astr json_str; ex_astr json_str;
if (is_get) if (is_get) {
json_str.assign(req->query_string.p, req->query_string.len); json_str.assign(req->query_string.p, req->query_string.len);
else
json_str.assign(req->body.p, req->body.len);
if (0 == json_str.length())
return TPE_PARAM;
// 将参数进行 url-decode 解码 // 将参数进行 url-decode 解码
int len = json_str.length() * 2; int len = json_str.length() * 2;
@ -193,6 +188,13 @@ ex_rv TsHttpRpc::_parse_request(struct http_message* req, ex_astr& func_cmd, Jso
return TPE_HTTP_URL_ENCODE; return TPE_HTTP_URL_ENCODE;
json_str = &sztmp[0]; json_str = &sztmp[0];
}
else {
json_str.assign(req->body.p, req->body.len);
}
if (0 == json_str.length())
return TPE_PARAM;
Json::Reader jreader; Json::Reader jreader;