feat: main allow -c
This commit is contained in:
parent
c48b169c65
commit
4cd3e394c3
@ -13,17 +13,31 @@ void printHeader();
|
|||||||
|
|
||||||
int main(int argc, char **argv)
|
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;
|
return 1;
|
||||||
}
|
}
|
||||||
|
// NOLINTEND
|
||||||
|
|
||||||
Log::setFileChannel("logs/webserv.log");
|
Log::setFileChannel("logs/webserv.log");
|
||||||
Log::setStdoutChannel();
|
Log::setStdoutChannel();
|
||||||
printHeader();
|
printHeader();
|
||||||
ConfigManager &configManager = ConfigManager::getInstance();
|
ConfigManager &configManager = ConfigManager::getInstance();
|
||||||
configManager.init(argv[1]); // NOLINT
|
configManager.init(configPath); // NOLINT
|
||||||
|
|
||||||
ConfigValidator validator{configManager.getGlobalConfig()};
|
ConfigValidator validator{configManager.getGlobalConfig()};
|
||||||
if (validator.hasErrors())
|
if (validator.hasErrors())
|
||||||
@ -43,6 +57,12 @@ int main(int argc, char **argv)
|
|||||||
server.run();
|
server.run();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
catch (const std::exception &e)
|
||||||
|
{
|
||||||
|
Log::error("error caught in main: " + std::string(e.what()));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void printHeader()
|
void printHeader()
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user