1 #ifndef DISABLE_REST_API
18 #ifndef UHttpRequesrHandler_H_
19 #define UHttpRequesrHandler_H_
22 #include <Poco/Net/HTTPRequestHandler.h>
23 #include <Poco/Net/HTTPRequestHandlerFactory.h>
24 #include <Poco/Net/HTTPServerRequest.h>
25 #include <Poco/Net/HTTPServerResponse.h>
27 #include <Poco/JSON/Object.h>
29 #include "DebugStream.h"
91 const std::string UHTTP_API_VERSION =
"v01";
101 virtual Poco::JSON::Object::Ptr httpGet(
const Poco::URI::QueryParameters& p ) = 0;
102 virtual Poco::JSON::Object::Ptr httpHelp(
const Poco::URI::QueryParameters& p ) = 0;
105 virtual Poco::JSON::Object::Ptr httpRequest(
const std::string& req,
const Poco::URI::QueryParameters& p );
116 virtual Poco::JSON::Object::Ptr httpGetByName(
const std::string& name,
const Poco::URI::QueryParameters& p ) = 0;
119 virtual Poco::JSON::Array::Ptr httpGetObjectsList(
const Poco::URI::QueryParameters& p ) = 0;
120 virtual Poco::JSON::Object::Ptr httpHelpByName(
const std::string& name,
const Poco::URI::QueryParameters& p ) = 0;
121 virtual Poco::JSON::Object::Ptr httpRequestByName(
const std::string& name,
const std::string& req,
const Poco::URI::QueryParameters& p ) = 0;
126 public Poco::Net::HTTPRequestHandler
129 UHttpRequestHandler( std::shared_ptr<IHttpRequestRegistry> _registry,
const std::string& httpCORS_allow =
"*");
131 virtual void handleRequest( Poco::Net::HTTPServerRequest& req, Poco::Net::HTTPServerResponse& resp )
override;
135 std::shared_ptr<IHttpRequestRegistry> registry;
136 std::shared_ptr<DebugStream> log;
137 const std::string httpCORS_allow = {
"*" };
141 public Poco::Net::HTTPRequestHandlerFactory
147 virtual Poco::Net::HTTPRequestHandler* createRequestHandler(
const Poco::Net::HTTPServerRequest& )
override;
150 void setCORS_allow(
const std::string& allow );
152 std::shared_ptr<IHttpRequestRegistry> registry;
153 std::string httpCORS_allow = {
"*" };
Definition: UHttpRequestHandler.h:95
Definition: UHttpRequestHandler.h:110
Definition: UHttpRequestHandler.h:142
Definition: UHttpRequestHandler.h:127
Definition: CommonEventLoop.h:15