Add close handling, move clock example to split threads

This commit is contained in:
flamingcow
2019-05-11 21:53:12 -07:00
parent c5f5d9f0cf
commit 1f84aa25b6
6 changed files with 72 additions and 13 deletions

View File

@@ -2,7 +2,7 @@
namespace firesse {
Server::Server(int port, const std::function<void(std::unique_ptr<Stream>)>& callback)
Server::Server(int port, const std::function<void(Stream*)>& callback)
: callback_(callback),
firecgi_server_(port,
[this](firecgi::Request* request) { OnRequest(request); },
@@ -12,12 +12,21 @@ void Server::Serve() {
firecgi_server_.Serve();
}
void Server::Shutdown() {
firecgi_server_.Shutdown();
}
void Server::RegisterSignalHandlers() {
firecgi_server_.RegisterSignalHandlers();
}
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");
request->WriteBody("");
callback_(std::make_unique<Stream>(request));
auto stream = new Stream(request);
callback_(stream);
}
} // namespace firesse