feat: main allow -c

This commit is contained in:
Quinten 2025-10-29 16:53:32 +01:00
parent c48b169c65
commit 4cd3e394c3

View File

@ -13,17 +13,31 @@ void printHeader();
int main(int argc, char **argv)
{
if (argc < 2)
try
{
std::cerr << "Usage: " + std::string(argv[0]) + " <config_file_path>"; // NOLINT
std::string configPath;
// NOLINTBEGIN
if (argc == 3 && std::string(argv[1]) == "-c")
{
configPath = argv[2];
}
else if (argc == 2)
{
configPath = argv[1];
}
else
{
std::cerr << "Usage: " + std::string(argv[0]) + " [-c] <config_file_path>"; // NOLINT
return 1;
}
// NOLINTEND
Log::setFileChannel("logs/webserv.log");
Log::setStdoutChannel();
printHeader();
ConfigManager &configManager = ConfigManager::getInstance();
configManager.init(argv[1]); // NOLINT
configManager.init(configPath); // NOLINT
ConfigValidator validator{configManager.getGlobalConfig()};
if (validator.hasErrors())
@ -42,6 +56,12 @@ int main(int argc, char **argv)
::signal(SIGINT, Server::signalHandler);
server.run();
return 0;
}
catch (const std::exception &e)
{
Log::error("error caught in main: " + std::string(e.what()));
return 1;
}
}
void printHeader()