#include #include #include #include int main(int ac, char **av) { try { std::string config = (ac == 2 ? av[1] : "./default.config"); // like this just looks kinda gross, why bother creating an instance // and not immediately parsing? like it servers no other purpose... // what if i call parse directly in the constructor? // oh because the constructor has no return, but still // is there a better way? ConfigParser configParser(config.c_str()); Webserv serv(configParser.parse()); // is this better or worse than using serv.init_virtual_servers(); serv.start(); } catch (std::exception& e) { std::cout << e.what() << '\n'; } return (0); }