#include "config.h" #include "http.h" #include "plugin.h" #include #include #include using namespace std::string_literals; void usage() { std::cout << "usage: webserver [-c ]" << std::endl; } int main(int argc, char* argv[]) { std::string config_filename; if (!(argc == 1 || argc == 3)) { usage(); return 1; } if (argc == 3) { if (argv[1] != "-c"s) { usage(); return 1; } config_filename = argv[2]; } try { Config config{config_filename}; load_plugins(config); return http_server(argc, argv); } catch (const std::exception& ex) { std::cout << "Error: " << ex.what() << std::endl; return 1; } }