aboutsummaryrefslogtreecommitdiff
path: root/zenhttp/httpsys.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2021-10-19 22:22:14 +0200
committerStefan Boberg <[email protected]>2021-10-19 22:22:14 +0200
commit6df4d0b81085c11da1597d120e6b66cc72e5fcce (patch)
tree4a9b85d9c177534b8e93c7499a1dc2034740ec53 /zenhttp/httpsys.cpp
parentzenserver: disabled named pipes client and exec service by default (diff)
parentcas: Factored out OpenOrCreateManifest (diff)
downloadzen-6df4d0b81085c11da1597d120e6b66cc72e5fcce.tar.xz
zen-6df4d0b81085c11da1597d120e6b66cc72e5fcce.zip
Merge branch 'gc' of https://github.com/EpicGames/zen into gc
Diffstat (limited to 'zenhttp/httpsys.cpp')
-rw-r--r--zenhttp/httpsys.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/zenhttp/httpsys.cpp b/zenhttp/httpsys.cpp
index f3568bbd1..cdf9e0a39 100644
--- a/zenhttp/httpsys.cpp
+++ b/zenhttp/httpsys.cpp
@@ -341,8 +341,6 @@ HttpMessageResponseRequest::~HttpMessageResponseRequest()
void
HttpMessageResponseRequest::InitializeForPayload(uint16_t ResponseCode, std::span<IoBuffer> BlobList)
{
- m_ResponseCode = ResponseCode;
-
const uint32_t ChunkCount = gsl::narrow<uint32_t>(BlobList.size());
m_HttpDataChunks.reserve(ChunkCount);
@@ -407,6 +405,16 @@ HttpMessageResponseRequest::InitializeForPayload(uint16_t ResponseCode, std::spa
m_RemainingChunkCount = gsl::narrow<uint32_t>(m_HttpDataChunks.size());
m_TotalDataSize = LocalDataSize;
+
+ if (m_TotalDataSize == 0 && ResponseCode == 200)
+ {
+ // Some HTTP clients really don't like empty responses unless a 204 response is sent
+ m_ResponseCode = uint16_t(HttpResponseCode::NoContent);
+ }
+ else
+ {
+ m_ResponseCode = ResponseCode;
+ }
}
void