Files
firecgi/firecgi.h
2019-05-04 23:21:33 -07:00

28 lines
589 B
C++

#pragma once
#include <functional>
#include <memory>
#include <unordered_set>
#include "request.h"
namespace firecgi {
class Server {
public:
Server(int port, const std::function<void(std::unique_ptr<Request>)>& callback, int threads=1, const std::unordered_set<std::string_view>& headers={});
void Serve();
private:
void NewConn(int listen_sock, int epoll_fd);
int NewListenSock();
void ServeInt();
const int port_;
const std::function<void(std::unique_ptr<Request>)> callback_;
const int threads_;
const std::unordered_set<std::string_view> headers_;
};
} // firecgi