Inject logger instead of using a singleton

This commit is contained in:
2019-06-16 11:33:23 +02:00
parent 14740e4a64
commit 9ba225cbde
14 changed files with 76 additions and 56 deletions

9
src/middleware/base.cpp Normal file
View File

@@ -0,0 +1,9 @@
#include "base.hpp"
namespace Middleware
{
BaseMiddleware::BaseMiddleware(Logger & _logger)
: logger(_logger)
{
}
}

View File

@@ -1,6 +1,7 @@
#pragma once
#include "../http/request.hpp"
#include "../http/response.hpp"
#include "../logger.hpp"
#include <cstdint>
#include <string>
@@ -8,10 +9,13 @@ namespace Middleware
{
class BaseMiddleware
{
protected:
Logger & logger;
public:
virtual void HandleRequest(Http::Request const & request, Http::Response & response) = 0;
BaseMiddleware() = default;
BaseMiddleware(Logger & logger);
virtual ~BaseMiddleware() = default;
};
}

View File

@@ -25,4 +25,9 @@ namespace Middleware
responseContent.begin(),
responseContent.end());
}
NotFound::NotFound(Logger & _logger)
: BaseMiddleware(_logger)
{
}
}

View File

@@ -7,5 +7,7 @@ namespace Middleware
{
public:
void HandleRequest(Http::Request const & request, Http::Response & Response) override;
NotFound(Logger & logger);
};
}

View File

@@ -90,11 +90,12 @@ namespace Middleware
return;
}
StaticContent::StaticContent(std::string const & staticFileRoot)
: root(staticFileRoot)
StaticContent::StaticContent(Logger & _logger, std::string const & staticFileRoot)
: BaseMiddleware(_logger),
root(staticFileRoot)
{
std::stringstream ss;
ss << "Using static file root " << root;
Logger::GetInstance().Info(ss.str());
_logger.Info(ss.str());
}
}

View File

@@ -14,6 +14,6 @@ namespace Middleware
public:
virtual void HandleRequest(Http::Request const & request, Http::Response & response) override;
StaticContent(std::string const & staticFileRoot);
StaticContent(Logger & logger, std::string const & staticFileRoot);
};
}