38 regels
932 B
C
38 regels
932 B
C
|
#ifndef HANDLER_H
|
||
|
#define HANDLER_H
|
||
|
|
||
|
#include "../response.h"
|
||
|
#include "../request.h"
|
||
|
#include "../template.h"
|
||
|
#include "../database/database.h"
|
||
|
#include "../urlprovider.h"
|
||
|
#include "../database/queryoption.h"
|
||
|
#include "../logger.h"
|
||
|
#include "../cache/icache.h"
|
||
|
class Handler
|
||
|
{
|
||
|
protected:
|
||
|
ICache *cache;
|
||
|
Template *templ;
|
||
|
Database *database;
|
||
|
Session *userSession;
|
||
|
UrlProvider *urlProvider;
|
||
|
|
||
|
QueryOption queryOption(const Request &r) const;
|
||
|
public:
|
||
|
Handler(Template &templ, Database &db, Session &userSession, UrlProvider &provider, ICache &cache)
|
||
|
{
|
||
|
this->templ = &templ;
|
||
|
this->database = &db;
|
||
|
this->userSession = &userSession;
|
||
|
this->urlProvider = &provider;
|
||
|
this->cache = &cache;
|
||
|
}
|
||
|
virtual Response handle(const Request &r) = 0;
|
||
|
void setGeneralVars(TemplatePage &page);
|
||
|
virtual ~Handler() { }
|
||
|
Response errorResponse(std::string errortitle, std::string errormessage, int status = 200);
|
||
|
};
|
||
|
|
||
|
#endif // HANDLER_H
|