#pragma once #include "tcp.h" #include #include #include #include namespace mst { template using Result = std::expected; class HttpServer; class HttpDaemon { public: HttpDaemon(HttpServer&, TcpConnection connection) : connection(connection) { }; private: TcpConnection connection; }; class HttpServer { public: auto start() -> Result; static auto bind(const std::string& host, uint16_t port) -> Result; private: HttpServer(TcpListener listener) : listener(listener) { }; TcpListener listener; }; }