drogonframework / drogon

Drogon: A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows
MIT License
11.04k stars 1.06k forks source link

Delay parsing json for HttpClient #2077

Closed fantasy-peak closed 1 week ago

nqf commented 1 week ago
    if (type.find("application/json") != std::string::npos)
    {
        resp->parseJson();
    }

@an-tao 这个提前解析 好像没什么用处 ,是否可以直接删除这个if 判断? https://github.com/drogonframework/drogon/blob/a2f759e4cd9d40a772a0f3006430d867c72e8f28/lib/src/HttpResponseImpl.h#L282 , jsonObject() 函数 总是会解析一次json

nqf commented 1 week ago
    if (type.find("application/json") != std::string::npos)
    {
        resp->parseJson();
    }

@an-tao 这个提前解析 好像没什么用处 ,是否可以直接删除这个if 判断?

https://github.com/drogonframework/drogon/blob/a2f759e4cd9d40a772a0f3006430d867c72e8f28/lib/src/HttpResponseImpl.h#L282

, jsonObject() 函数 总是会解析一次json

@an-tao 关于这个 你有什么想法吗, 删除 这个if ? 还是 增加一个 flag ?

an-tao commented 1 week ago
    if (type.find("application/json") != std::string::npos)
    {
        resp->parseJson();
    }

@an-tao 这个提前解析 好像没什么用处 ,是否可以直接删除这个if 判断? https://github.com/drogonframework/drogon/blob/a2f759e4cd9d40a772a0f3006430d867c72e8f28/lib/src/HttpResponseImpl.h#L282

, jsonObject() 函数 总是会解析一次json

@an-tao 关于这个 你有什么想法吗, 删除 这个if ? 还是 增加一个 flag ?

可以直接去掉,延迟parse时机也是合理的

fantasy-peak commented 1 week ago
    if (type.find("application/json") != std::string::npos)
    {
        resp->parseJson();
    }

@an-tao 这个提前解析 好像没什么用处 ,是否可以直接删除这个if 判断? https://github.com/drogonframework/drogon/blob/a2f759e4cd9d40a772a0f3006430d867c72e8f28/lib/src/HttpResponseImpl.h#L282

, jsonObject() 函数 总是会解析一次json

@an-tao 关于这个 你有什么想法吗, 删除 这个if ? 还是 增加一个 flag ?

可以直接去掉,延迟parse时机也是合理的

好了请检查