18 #ifndef NAF_COREANDLER_FACTORY
19 #define NAF_COREANDLER_FACTORY
28 #include "Poco/Exception.h"
29 #include "Poco/Format.h"
30 #include <Poco/Net/HTTPRequestHandlerFactory.h>
31 #include <Poco/JSON/JSON.h>
32 #include <Poco/JSON/Array.h>
33 #include <Poco/JSON/Object.h>
34 #include <Poco/JSON/Parser.h>
35 #include <Poco/Dynamic/Var.h>
36 #include <Poco/Dynamic/Struct.h>
37 #include <Poco/StreamCopier.h>
38 #include "Poco/Data/Session.h"
39 #include "Poco/Data/MySQL/Connector.h"
40 #include <Poco/Data/MySQL/MySQLException.h>
41 #include <Poco/Data/Statement.h>
43 #include "tools/handler_connection.h"
44 #include "tools/sessions_manager.h"
45 #include "query/database_manager.h"
46 #include "tools/route.h"
47 #include "http/request.h"
48 #include "handlers/root_handler.h"
49 #include "handlers/null_handler.h"
50 #include "handlers/backend_handler.h"
51 #include "handlers/frontend_handler.h"
52 #include "handlers/login_handler.h"
53 #include "handlers/websocket_handler.h"
54 #include "tools/output_logger.h"
57 using namespace Poco::Net;
58 using namespace Poco::JSON;
59 using namespace Poco::Data::Keywords;
65 struct HTTPRequestInfo;
73 HTTPRequestInfo(std::string uri, std::string method) : uri(uri), method(method){}
80 public HTTPRequestHandlerFactory
85 using Connections = std::map<std::string, Tools::HandlerConnection>;
90 Connections& get_connections()
92 auto& var = connections_;
95 FunctionHandlerCreator& get_handler_creator_()
97 auto& var = handler_creator_;
100 void set_handler_creator(FunctionHandlerCreator handler_creator){ handler_creator_ = handler_creator; }
102 virtual HTTPRequestHandler* createRequestHandler(
const HTTPServerRequest& request);
105 void ErrorResponse_(
const HTTPServerRequest& request, std::string error);
108 FunctionHandlerCreator handler_creator_;
109 Connections connections_;
Definition: handler_factory.h:81
Definition: root_handler.h:97
Definition: handler_factory.h:72