1
0
mirror of synced 2025-04-19 00:24:02 +03:00

Fix problem caused by #1975

This commit is contained in:
yhirose 2024-11-14 20:33:08 -05:00
parent bfef4b3e9b
commit 412ba04d19
2 changed files with 14 additions and 11 deletions

View File

@ -7702,24 +7702,26 @@ inline bool ClientImpl::write_request(Stream &strm, Request &req,
if (!req.has_header("Accept")) { req.set_header("Accept", "*/*"); } if (!req.has_header("Accept")) { req.set_header("Accept", "*/*"); }
if (!req.has_header("Accept-Encoding")) { if (!req.content_receiver) {
std::string accept_encoding; if (!req.has_header("Accept-Encoding")) {
std::string accept_encoding;
#ifdef CPPHTTPLIB_BROTLI_SUPPORT #ifdef CPPHTTPLIB_BROTLI_SUPPORT
accept_encoding = "br"; accept_encoding = "br";
#endif #endif
#ifdef CPPHTTPLIB_ZLIB_SUPPORT #ifdef CPPHTTPLIB_ZLIB_SUPPORT
if (!accept_encoding.empty()) { accept_encoding += ", "; } if (!accept_encoding.empty()) { accept_encoding += ", "; }
accept_encoding += "gzip, deflate"; accept_encoding += "gzip, deflate";
#endif #endif
req.set_header("Accept-Encoding", accept_encoding); req.set_header("Accept-Encoding", accept_encoding);
} }
#ifndef CPPHTTPLIB_NO_DEFAULT_USER_AGENT #ifndef CPPHTTPLIB_NO_DEFAULT_USER_AGENT
if (!req.has_header("User-Agent")) { if (!req.has_header("User-Agent")) {
auto agent = std::string("cpp-httplib/") + CPPHTTPLIB_VERSION; auto agent = std::string("cpp-httplib/") + CPPHTTPLIB_VERSION;
req.set_header("User-Agent", agent); req.set_header("User-Agent", agent);
} }
#endif #endif
};
if (req.body.empty()) { if (req.body.empty()) {
if (req.content_provider_) { if (req.content_provider_) {

View File

@ -5609,6 +5609,7 @@ TEST(LongPollingTest, ClientCloseDetection) {
auto count = 10; auto count = 10;
while (count > 0 && sink.is_writable()) { while (count > 0 && sink.is_writable()) {
this_thread::sleep_for(chrono::milliseconds(10)); this_thread::sleep_for(chrono::milliseconds(10));
count--;
} }
EXPECT_FALSE(sink.is_writable()); // the socket is closed EXPECT_FALSE(sink.is_writable()); // the socket is closed
return true; return true;