Working clock stream. Propagate up write errors

This commit is contained in:
Ian Gulliver
2019-04-29 00:11:07 +00:00
parent 4d4525b145
commit 205b8253b2
11 changed files with 92 additions and 13 deletions

28
sse_stream.cc Normal file
View File

@@ -0,0 +1,28 @@
#include "sse_stream.h"
#include "fastcgi_request.h"
SSEStream::SSEStream(std::unique_ptr<FastCGIRequest> request)
: request_(std::move(request)) {}
bool SSEStream::WriteEvent(const std::string& data, uint64_t id, const std::string& type) {
if (id) {
request_->WriteBody("id: ");
request_->WriteBody(std::to_string(id));
request_->WriteBody("\n");
}
if (!type.empty()) {
request_->WriteBody("event: ");
request_->WriteBody(type);
request_->WriteBody("\n");
}
request_->WriteBody("data: ");
request_->WriteBody(data);
request_->WriteBody("\n\n");
return request_->Flush();
}
bool SSEStream::End() {
return request_->End();
}