diff options
| author | Stefan Boberg <[email protected]> | 2021-10-19 22:22:14 +0200 |
|---|---|---|
| committer | Stefan Boberg <[email protected]> | 2021-10-19 22:22:14 +0200 |
| commit | 6df4d0b81085c11da1597d120e6b66cc72e5fcce (patch) | |
| tree | 4a9b85d9c177534b8e93c7499a1dc2034740ec53 /zenhttp/httpsys.cpp | |
| parent | zenserver: disabled named pipes client and exec service by default (diff) | |
| parent | cas: Factored out OpenOrCreateManifest (diff) | |
| download | zen-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.cpp | 12 |
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 |