Jämför commits
2 Incheckningar
92be470545
...
7a2f15cabe
Upphovsman | SHA1 | Datum | |
---|---|---|---|
7a2f15cabe | |||
c9dc3416d7 |
@ -33,7 +33,7 @@ SOFTWARE.
|
||||
#include "handlerhistory.h"
|
||||
#include "handlerpagedelete.h"
|
||||
#include "handlerusersettings.h"
|
||||
|
||||
#include "handlerversion.h"
|
||||
std::unique_ptr<Handler> HandlerFactory::createHandler(const std::string &action, Session &userSession)
|
||||
{
|
||||
if(action == "" || action == "index")
|
||||
@ -80,6 +80,10 @@ std::unique_ptr<Handler> HandlerFactory::createHandler(const std::string &action
|
||||
{
|
||||
return produce<HandlerUserSettings>(userSession);
|
||||
}
|
||||
if(action == "version")
|
||||
{
|
||||
return produce<HandlerVersion>(userSession);
|
||||
}
|
||||
|
||||
return produce<HandlerInvalidAction>(userSession);
|
||||
}
|
||||
|
9
handlers/handlerversion.cpp
Normal file
9
handlers/handlerversion.cpp
Normal file
@ -0,0 +1,9 @@
|
||||
#include "handlerversion.h"
|
||||
#include "../version.h"
|
||||
Response HandlerVersion::handleRequest(const Request &r)
|
||||
{
|
||||
Response response;
|
||||
response.setContentType("text/plain");
|
||||
response.setBody(get_version_string());
|
||||
return response;
|
||||
}
|
18
handlers/handlerversion.h
Normal file
18
handlers/handlerversion.h
Normal file
@ -0,0 +1,18 @@
|
||||
#ifndef HANDLERVERSION_H
|
||||
#define HANDLERVERSION_H
|
||||
#include "handler.h"
|
||||
class HandlerVersion : public Handler
|
||||
{
|
||||
public:
|
||||
using Handler::Handler;
|
||||
|
||||
public:
|
||||
Response handleRequest(const Request &r) override;
|
||||
|
||||
bool canAccess(const Permissions &perms) override
|
||||
{
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
#endif // HANDLERVERSION_H
|
@ -27,7 +27,7 @@ TemplatePage::TemplatePage()
|
||||
|
||||
TemplatePage::TemplatePage(std::string content)
|
||||
{
|
||||
this->content = content;
|
||||
this->content = std::make_shared<std::string>(content);
|
||||
}
|
||||
|
||||
void TemplatePage::setVar(const std::string &key, std::string value)
|
||||
@ -40,5 +40,5 @@ std::string TemplatePage::render() const
|
||||
Varreplacer replacer("{qswiki:");
|
||||
replacer.addResolver("var",
|
||||
[&](std::string_view key) { return utils::getKeyOrEmpty(this->varsMap, std::string(key)); });
|
||||
return replacer.parse(this->content);
|
||||
return replacer.parse(*this->content);
|
||||
}
|
||||
|
@ -3,10 +3,11 @@
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <map>
|
||||
#include <memory>
|
||||
class TemplatePage
|
||||
{
|
||||
private:
|
||||
std::string content;
|
||||
std::shared_ptr<const std::string> content;
|
||||
std::map<std::string, std::string> varsMap;
|
||||
|
||||
public:
|
||||
|
Laddar…
Referens i nytt ärende
Block a user