#pragma once #include #include #include #include #include #include #include #include "response/response.h" class Server { public: Server(); ~Server(); void handleRequest(FCGX_Request& request); private: void router(const std::vector& path); void printEnv(std::ostream& out, FCGX_Request& request); void writeHeader(std::ostream& out); void accountRequest(const FCGX_Request& request); std::string_view getPath(const FCGX_Request& request); private: uint64_t requestCount; std::optional serverName; };