Inject logger instead of using a singleton
This commit is contained in:
9
src/middleware/base.cpp
Normal file
9
src/middleware/base.cpp
Normal file
@@ -0,0 +1,9 @@
|
||||
#include "base.hpp"
|
||||
|
||||
namespace Middleware
|
||||
{
|
||||
BaseMiddleware::BaseMiddleware(Logger & _logger)
|
||||
: logger(_logger)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -25,4 +25,9 @@ namespace Middleware
|
||||
responseContent.begin(),
|
||||
responseContent.end());
|
||||
}
|
||||
|
||||
NotFound::NotFound(Logger & _logger)
|
||||
: BaseMiddleware(_logger)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -7,5 +7,7 @@ namespace Middleware
|
||||
{
|
||||
public:
|
||||
void HandleRequest(Http::Request const & request, Http::Response & Response) override;
|
||||
|
||||
NotFound(Logger & logger);
|
||||
};
|
||||
}
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user