diff --git a/src/main.cpp b/src/main.cpp index 6d3b9fa..a2cdad2 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,8 +5,10 @@ int main(int argc, char ** argv) { + ServerConfiguration serverConfiguration; Logger logger; - HttpServer httpServer(logger); + HttpServer httpServer(logger, serverConfiguration); + httpServer.Execute(); return 0; diff --git a/src/server/configuration.cpp b/src/server/configuration.cpp index 81d655b..3446cd0 100644 --- a/src/server/configuration.cpp +++ b/src/server/configuration.cpp @@ -1,18 +1,5 @@ #include "configuration.hpp" -bool ServerConfiguration::LoadFromFile(std::string const & filePath) -{ - // TODO implement - return false; -} - -ServerConfiguration::ServerConfiguration() - : wwwRoot("./www"), - serverName("http-server"), - port(8080) -{ -} - int ServerConfiguration::GetMajorVersion() const { return 0; @@ -43,9 +30,15 @@ bool ServerConfiguration::IsValid() const return isValid; } -ServerConfiguration const & ServerConfiguration::GetInstance() +bool ServerConfiguration::LoadFromFile(std::string const & filePath) { - static ServerConfiguration config; + // TODO implement + return false; +} - return config; +ServerConfiguration::ServerConfiguration() + : wwwRoot("./www"), + serverName("http-server"), + port(8080) +{ } \ No newline at end of file diff --git a/src/server/configuration.hpp b/src/server/configuration.hpp index f11546a..a0e4585 100644 --- a/src/server/configuration.hpp +++ b/src/server/configuration.hpp @@ -9,11 +9,6 @@ private: int port; bool isValid; - bool LoadFromFile(std::string const & filePath); - - ServerConfiguration(); - ~ServerConfiguration() = default; - public: int GetMajorVersion() const; int GetMinorVersion() const; @@ -22,7 +17,10 @@ public: int GetPort() const; bool IsValid() const; - static ServerConfiguration const & GetInstance(); + bool LoadFromFile(std::string const & filePath); + + ServerConfiguration(); + ~ServerConfiguration() = default; ServerConfiguration(ServerConfiguration & other) = delete; ServerConfiguration(ServerConfiguration && other) = delete; diff --git a/src/server/connectionoperator.cpp b/src/server/connectionoperator.cpp index 2f34a3f..44ac88d 100644 --- a/src/server/connectionoperator.cpp +++ b/src/server/connectionoperator.cpp @@ -65,11 +65,11 @@ void ConnectionOperator::HandleNewConnection(ClientSocket const & newClient) newClient.WriteBytes(bytesToSend); } -ConnectionOperator::ConnectionOperator(Logger & _logger) +ConnectionOperator::ConnectionOperator(Logger & _logger, ServerConfiguration const & serverConfiguration) : logger(_logger) { // Base static file server - auto const & staticFileRoot = ServerConfiguration::GetInstance().GetWwwRoot(); + auto const & staticFileRoot = serverConfiguration.GetWwwRoot(); if (staticFileRoot.size() > 0) { middlewares.emplace_back(std::make_unique(_logger, staticFileRoot)); diff --git a/src/server/connectionoperator.hpp b/src/server/connectionoperator.hpp index aa8141a..62709d0 100644 --- a/src/server/connectionoperator.hpp +++ b/src/server/connectionoperator.hpp @@ -17,5 +17,5 @@ private: public: void HandleNewConnection(ClientSocket const & newClient); - ConnectionOperator(Logger & logger); + ConnectionOperator(Logger & logger, ServerConfiguration const & serverConfiguration); }; \ No newline at end of file diff --git a/src/server/server.cpp b/src/server/server.cpp index 21ca46c..0390fbf 100755 --- a/src/server/server.cpp +++ b/src/server/server.cpp @@ -20,13 +20,13 @@ void HttpServer::Execute() } } -HttpServer::HttpServer(Logger & _logger) +HttpServer::HttpServer(Logger & _logger, ServerConfiguration const & serverConfiguration) : logger(_logger), - listeningSocket(ServerConfiguration::GetInstance().GetPort()), - connectionOperator(_logger), + listeningSocket(serverConfiguration.GetPort()), + connectionOperator(_logger, serverConfiguration), isOpen(true) { std::stringstream ss; - ss << "Listening on port " << ServerConfiguration::GetInstance().GetPort(); + ss << "Listening on port " << serverConfiguration.GetPort(); logger.Info(ss.str()); } \ No newline at end of file diff --git a/src/server/server.hpp b/src/server/server.hpp index fa4bed4..3ef38da 100755 --- a/src/server/server.hpp +++ b/src/server/server.hpp @@ -14,7 +14,7 @@ private: public: void Execute(); - HttpServer(Logger & logger); + HttpServer(Logger & logger, ServerConfiguration const & serverConfiguration); HttpServer(HttpServer & other) = delete; HttpServer & operator=(HttpServer & other) = delete; }; \ No newline at end of file