diff options
| author | Per Larsson <[email protected]> | 2022-03-23 13:47:01 +0100 |
|---|---|---|
| committer | Per Larsson <[email protected]> | 2022-03-23 13:47:01 +0100 |
| commit | 58406e56968254cba7f5e807151014326fe0b385 (patch) | |
| tree | f069b4f67c889dfe28ec8ff74d2b37ae1a043cb5 /zenhttp/httpserver.cpp | |
| parent | Added ToJson for compact binary array. (diff) | |
| download | zen-58406e56968254cba7f5e807151014326fe0b385.tar.xz zen-58406e56968254cba7f5e807151014326fe0b385.zip | |
Helper function for sending compact binary array HTTP response.
Diffstat (limited to 'zenhttp/httpserver.cpp')
| -rw-r--r-- | zenhttp/httpserver.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/zenhttp/httpserver.cpp b/zenhttp/httpserver.cpp index 710b6f356..df5a0596a 100644 --- a/zenhttp/httpserver.cpp +++ b/zenhttp/httpserver.cpp @@ -375,6 +375,22 @@ HttpServerRequest::WriteResponse(HttpResponseCode ResponseCode, CbObject Data) } void +HttpServerRequest::WriteResponse(HttpResponseCode ResponseCode, CbArray Array) +{ + if (m_AcceptType == HttpContentType::kJSON) + { + ExtendableStringBuilder<1024> Sb; + WriteResponse(ResponseCode, HttpContentType::kJSON, Array.ToJson(Sb).ToView()); + } + else + { + SharedBuffer Buf = Array.GetBuffer(); + std::array<IoBuffer, 1> Buffers{IoBufferBuilder::MakeCloneFromMemory(Buf.GetData(), Buf.GetSize())}; + return WriteResponse(ResponseCode, HttpContentType::kCbObject, Buffers); + } +} + +void HttpServerRequest::WriteResponse(HttpResponseCode ResponseCode, HttpContentType ContentType, std::string_view ResponseString) { return WriteResponse(ResponseCode, ContentType, std::u8string_view{(char8_t*)ResponseString.data(), ResponseString.size()}); |