gradido/login_server/src/cpp/HTTPInterface/PageRequestMessagedHandler.h
2021-08-12 12:09:57 +02:00

42 lines
1.4 KiB
C++

#ifndef PAGE_REQUEST_MESSAGE_HANDLER_INCLUDED
#define PAGE_REQUEST_MESSAGE_HANDLER_INCLUDED
#include "../model/Session.h"
#include "../lib/NotificationList.h"
#include "../lib/Profiler.h"
#include "../SingletonManager/LanguageManager.h"
#include "Poco/Net/HTTPRequestHandler.h"
#include "Poco/Net/HTMLForm.h"
#include "Poco/RegularExpression.h"
class PageRequestMessagedHandler : public Poco::Net::HTTPRequestHandler, public NotificationList
{
public:
PageRequestMessagedHandler();
inline void setProfiler(Profiler profiler) { mTimeProfiler = profiler; }
inline void setHost(const std::string &host) { mHost = host; }
inline void setLoginServerPath(const std::string& loginServerPath) { mLoginServerPath = loginServerPath; }
//Poco::Net::HTTPRequestHandler* createRequestHandler(const Poco::Net::HTTPServerRequest& request);
protected:
static const Poco::RegularExpression mDetectLanguageGET;
inline const char* gettext(Session* session, const char* text) { if (!session || !session->getLanguageCatalog()) return text; return session->getLanguageCatalog()->gettext(text); }
virtual Languages chooseLanguage(Poco::Net::HTTPServerRequest& request, std::string lang_btn = "");
unsigned long long getLastGetAsU64(const std::string& uri);
std::string getBaseUrl();
std::string getHost();
Profiler mTimeProfiler;
std::string mHost;
std::string mLoginServerPath;
};
#endif // PAGE_REQUEST_MESSAGE_HANDLER_INCLUDED