From 7a2f15cabeaeb718ae159d098596bf2220f714fc Mon Sep 17 00:00:00 2001 From: Albert S Date: Sun, 10 Oct 2021 22:39:35 +0200 Subject: [PATCH] handlers: Introduce HandlerVersion to return the verison string --- handlers/handlerfactory.cpp | 6 +++++- handlers/handlerversion.cpp | 9 +++++++++ handlers/handlerversion.h | 18 ++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 handlers/handlerversion.cpp create mode 100644 handlers/handlerversion.h diff --git a/handlers/handlerfactory.cpp b/handlers/handlerfactory.cpp index f9e5ff7..392c717 100644 --- a/handlers/handlerfactory.cpp +++ b/handlers/handlerfactory.cpp @@ -33,7 +33,7 @@ SOFTWARE. #include "handlerhistory.h" #include "handlerpagedelete.h" #include "handlerusersettings.h" - +#include "handlerversion.h" std::unique_ptr HandlerFactory::createHandler(const std::string &action, Session &userSession) { if(action == "" || action == "index") @@ -80,6 +80,10 @@ std::unique_ptr HandlerFactory::createHandler(const std::string &action { return produce(userSession); } + if(action == "version") + { + return produce(userSession); + } return produce(userSession); } diff --git a/handlers/handlerversion.cpp b/handlers/handlerversion.cpp new file mode 100644 index 0000000..5e58b3b --- /dev/null +++ b/handlers/handlerversion.cpp @@ -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; +} diff --git a/handlers/handlerversion.h b/handlers/handlerversion.h new file mode 100644 index 0000000..160931c --- /dev/null +++ b/handlers/handlerversion.h @@ -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