Files
mirall/sse_stream.cc
2019-04-29 00:11:07 +00:00

29 lines
652 B
C++

#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();
}