http_connection: Allow empty json objects
Currently http_connection will produce empty body in the response if the
res.jsonValue is empty, including empty array, object.
This makes the output confusing in case a response does contain an empty
object or array.
Change the code to print the json object even if it's empty object or
array.
This patchset was previously reverted because of a regression, but this
regression is fixed in 63529.
Tested on previous commit: With an OEM URL that returns empty array
depending on the system config, the response becomes `[]` instead of
empty.
Signed-off-by: Lei YU <yulei.sh@bytedance.com>
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I1d1bf01a5277ff1bc953b15d9fc410e10f941e70
diff --git a/http/http_connection.hpp b/http/http_connection.hpp
index 24af031..2139602 100644
--- a/http/http_connection.hpp
+++ b/http/http_connection.hpp
@@ -342,7 +342,7 @@
res.setHashAndHandleNotModified();
- if (res.body().empty() && !res.jsonValue.empty())
+ if (res.body().empty() && res.jsonValue.is_structured())
{
using http_helpers::ContentType;
std::array<ContentType, 3> allowed{