diff --git a/include/LocationSettings.hpp b/include/LocationSettings.hpp index bf08af8..6f07610 100644 --- a/include/LocationSettings.hpp +++ b/include/LocationSettings.hpp @@ -4,8 +4,6 @@ #include #include -#include -#include class LocationSettings { diff --git a/include/ServerSettings.hpp b/include/ServerSettings.hpp index 21bc092..31889a0 100644 --- a/include/ServerSettings.hpp +++ b/include/ServerSettings.hpp @@ -5,9 +5,7 @@ #include #include -#include #include -#include class ServerSettings { diff --git a/src/ConfigSyntax.cpp b/src/ConfigSyntax.cpp index 927a151..2ddc11e 100644 --- a/src/ConfigSyntax.cpp +++ b/src/ConfigSyntax.cpp @@ -6,7 +6,6 @@ #include #include #include -#include std::vector::iterator findBlockEnd(std::vector &tokens, size_t pos) diff --git a/src/LocationSettings.cpp b/src/LocationSettings.cpp index 84e3327..887fa68 100644 --- a/src/LocationSettings.cpp +++ b/src/LocationSettings.cpp @@ -5,8 +5,6 @@ #include #include -#include -#include LocationSettings::LocationSettings() : _requesttarget(), _alias(), _index(), _allowed_methods(), _cgi_path(), @@ -34,6 +32,8 @@ LocationSettings::LocationSettings(std::vector::iterator &token) while (token->getType() != TokenType::CLOSE_BRACKET) { + Logger &logger = Logger::getInstance(); + const Token key = *token; token++; @@ -52,8 +52,8 @@ LocationSettings::LocationSettings(std::vector::iterator &token) else if (key.getString() == "return") parseReturn(*token); else - throw std::runtime_error( - "LocationSettings: unknown KEY token: " + key.getString()); + logger.log(WARNING, "LocationSettings: unknown KEY token: " + + key.getString()); token++; } @@ -66,8 +66,9 @@ void LocationSettings::parseAlias(const Token token) Logger &logger = Logger::getInstance(); if (!_alias.empty()) - logger.log(WARNING, "parser: redefining alias in locationblock: " + - _requesttarget); + logger.log(WARNING, + "ConfigParser: redefining alias in locationblock: " + + _requesttarget); _alias = token.getString(); } @@ -76,8 +77,9 @@ void LocationSettings::parseIndex(const Token token) Logger &logger = Logger::getInstance(); if (!_index.empty()) - logger.log(WARNING, "parser: redefining index in locationblock: " + - _requesttarget); + logger.log(WARNING, + "ConfigParser: redefining index in locationblock: " + + _requesttarget); _index = token.getString(); } @@ -110,6 +112,12 @@ void LocationSettings::parseCgiPath(const Token token) void LocationSettings::parseReturn(const Token token) { + Logger &logger = Logger::getInstance(); + + if (!_return.empty()) + logger.log(WARNING, + "ConfigParser: redefining return in locationblock: " + + _requesttarget); _return.append(" " + token.getString()); } diff --git a/src/ServerSettings.cpp b/src/ServerSettings.cpp index 56b3596..7eab019 100644 --- a/src/ServerSettings.cpp +++ b/src/ServerSettings.cpp @@ -6,12 +6,8 @@ #include #include -#include -#include -#include #include #include -#include ServerSettings::ServerSettings() : _listen(), _server_name(), _error_dir(), _client_max_body_size(), @@ -54,8 +50,6 @@ ServerSettings::ServerSettings(std::vector::iterator &token) } } -// TODO: value confirmation and validation should happen here or in syntax - void validateListen(const std::string &str) { size_t pos = str.find_first_of(":"); @@ -93,7 +87,7 @@ void ServerSettings::parseErrorDir(const Token value) Logger &logger = Logger::getInstance(); if (!_error_dir.empty()) - logger.log(WARNING, "parser: redefining error_dir"); + logger.log(WARNING, "ConfigParser: redefining error_dir"); _error_dir = value.getString(); } @@ -102,13 +96,15 @@ void ServerSettings::parseClientMaxBodySize(const Token value) Logger &logger = Logger::getInstance(); if (!_client_max_body_size.empty()) - logger.log(WARNING, "parser: redefining clientmaxbodysize"); + logger.log(WARNING, "ConfigParser: redefining clientmaxbodysize"); _client_max_body_size = value.getString(); } void ServerSettings::addValueToServerSettings( const Token &key, std::vector::iterator &value) { + Logger &logger = Logger::getInstance(); + while (value->getType() != TokenType::SEMICOLON) { if (key.getString() == "listen") @@ -120,9 +116,8 @@ void ServerSettings::addValueToServerSettings( else if (key.getString() == "client_max_body_size") parseClientMaxBodySize(*value); else - throw std::runtime_error("ServerSettings: unknown KEY token: " + - key.getString()); - + logger.log(WARNING, + "ServerSettings: unknown KEY token: " + key.getString()); value++; } } @@ -224,6 +219,7 @@ void ServerSettings::printServerSettings() const logger.log(DEBUG, "\t_ServerName:" + _server_name); logger.log(DEBUG, "\t_ErrorDir: " + _error_dir); logger.log(DEBUG, "\t_ClientMaxBodySize: " + _client_max_body_size); + for (auto &location_instance : _location_settings) { logger.log(DEBUG, "\n");