Files
firesse/server.cc

24 lines
653 B
C++
Raw Normal View History

2019-05-07 23:44:55 -07:00
#include "server.h"
2019-05-05 00:11:57 -07:00
namespace firesse {
Server::Server(int port, const std::function<void(std::unique_ptr<Stream>)>& callback)
: callback_(callback),
firecgi_server_(port,
[this](firecgi::Request* request) { OnRequest(request); },
1) {}
2019-05-05 00:11:57 -07:00
void Server::Serve() {
firecgi_server_.Serve();
}
void Server::OnRequest(firecgi::Request* request) {
request->WriteHeader("Content-Type", "text/event-stream; charset=utf-8");
request->WriteHeader("Cache-Control", "no-cache");
request->WriteHeader("X-Accel-Buffering", "no");
2019-05-05 00:11:57 -07:00
request->WriteBody("");
callback_(std::make_unique<Stream>(request));
2019-05-05 00:11:57 -07:00
}
} // namespace firesse