19 #ifndef ATOM_HTTP_REQUEST
20 #define ATOM_HTTP_REQUEST
26 #include <Poco/Net/HTTPServerRequest.h>
27 #include <Poco/Net/HTTPServerResponse.h>
28 #include <Poco/Net/HTTPCookie.h>
29 #include <Poco/Net/NameValueCollection.h>
43 using namespace Poco::Net;
50 Header(std::string name, std::string value) :
63 Cookie(std::string name, std::string value) :
76 using HTTPServerRequestPtr = std::optional<HTTPServerRequest*>;
77 using HTTPServerResponsePtr = std::optional<HTTPServerResponse*>;
81 HTTPServerRequestPtr& get_http_server_request()
83 auto& var = http_server_request_;
86 HTTPServerResponsePtr& get_http_server_response()
88 auto& var = http_server_response_;
91 std::vector<HTTP::Header> get_headers()
96 std::vector<HTTP::Cookie> get_cookies()
101 std::string get_uri()
const {
return uri_; }
102 std::string get_method()
const {
return method_; }
103 std::string get_content_type()
const {
return content_type_; };
104 Net::NameValueCollection get_content_type_parameters()
const {
return content_type_parameters_; };
106 void AddHeader_(std::string name, std::string value);
107 void AddCookie_(std::string name, std::string value);
110 void SetupRequest_(Net::HTTPServerRequest& request);
111 void SetupResponse_(Net::HTTPServerResponse& response);
112 void SetupHeaders_();
113 void SetupCookies_();
116 HTTPServerRequestPtr http_server_request_;
117 HTTPServerResponsePtr http_server_response_;
118 std::vector<HTTP::Header> headers_;
119 std::vector<HTTP::Cookie> cookies_;
122 std::string content_type_;
123 Net::NameValueCollection content_type_parameters_;