mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
58 lines
1.6 KiB
C++
58 lines
1.6 KiB
C++
#include "JsonRequestHandlerFactory.h"
|
|
|
|
#include "Poco/Net/HTTPServerRequest.h"
|
|
|
|
#include "../SingletonManager/SessionManager.h"
|
|
|
|
#include "JsonCreateUser.h"
|
|
#include "JsonGetLogin.h"
|
|
#include "JsonUnknown.h"
|
|
#include "JsonTransaction.h"
|
|
#include "JsonGetRunningUserTasks.h"
|
|
#include "JsonGetUsers.h"
|
|
#include "JsonAdminEmailVerificationResend.h"
|
|
#include "JsonGetUserInfos.h"
|
|
|
|
JsonRequestHandlerFactory::JsonRequestHandlerFactory()
|
|
: mRemoveGETParameters("^/([a-zA-Z0-9_-]*)"), mLogging(Poco::Logger::get("requestLog"))
|
|
{
|
|
}
|
|
|
|
Poco::Net::HTTPRequestHandler* JsonRequestHandlerFactory::createRequestHandler(const Poco::Net::HTTPServerRequest& request)
|
|
{
|
|
std::string uri = request.getURI();
|
|
std::string url_first_part;
|
|
std::stringstream logStream;
|
|
|
|
mRemoveGETParameters.extract(uri, url_first_part);
|
|
|
|
std::string dateTimeString = Poco::DateTimeFormatter::format(Poco::DateTime(), "%d.%m.%y %H:%M:%S");
|
|
logStream << dateTimeString << " call " << uri;
|
|
|
|
mLogging.information(logStream.str());
|
|
|
|
if (url_first_part == "/login") {
|
|
return new JsonGetLogin;
|
|
}
|
|
else if (url_first_part == "/checkTransaction") {
|
|
return new JsonTransaction;
|
|
}
|
|
else if (url_first_part == "/getRunningUserTasks") {
|
|
return new JsonGetRunningUserTasks;
|
|
}
|
|
else if (url_first_part == "/getUsers") {
|
|
return new JsonGetUsers;
|
|
}
|
|
else if (url_first_part == "/createUser") {
|
|
return new JsonCreateUser;
|
|
}
|
|
else if (url_first_part == "/adminEmailVerificationResend") {
|
|
return new JsonAdminEmailVerificationResend;
|
|
}
|
|
else if (url_first_part == "/getUserInfos") {
|
|
return new JsonGetUserInfos;
|
|
}
|
|
|
|
return new JsonUnknown;
|
|
}
|