comparison Core/RestApi/RestApiCall.h @ 1441:f3672356c121

refactoring: IHttpHandler and HttpToolbox
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 01 Jul 2015 10:38:39 +0200
parents b22ba8c5edbe
children 3232f1c995a5
comparison
equal deleted inserted replaced
1440:3567503c00a7 1441:f3672356c121
30 **/ 30 **/
31 31
32 32
33 #pragma once 33 #pragma once
34 34
35 #include "../HttpServer/HttpHandler.h" 35 #include "../HttpServer/IHttpHandler.h"
36 #include "../HttpServer/HttpToolbox.h"
36 #include "RestApiPath.h" 37 #include "RestApiPath.h"
37 #include "RestApiOutput.h" 38 #include "RestApiOutput.h"
38 39
39 #include <boost/noncopyable.hpp> 40 #include <boost/noncopyable.hpp>
40 41
45 class RestApiCall : public boost::noncopyable 46 class RestApiCall : public boost::noncopyable
46 { 47 {
47 private: 48 private:
48 RestApiOutput& output_; 49 RestApiOutput& output_;
49 RestApi& context_; 50 RestApi& context_;
50 const HttpHandler::Arguments& httpHeaders_; 51 const IHttpHandler::Arguments& httpHeaders_;
51 const HttpHandler::Arguments& uriComponents_; 52 const IHttpHandler::Arguments& uriComponents_;
52 const UriComponents& trailing_; 53 const UriComponents& trailing_;
53 const UriComponents& fullUri_; 54 const UriComponents& fullUri_;
54 55
55 protected: 56 protected:
56 static bool ParseJsonRequestInternal(Json::Value& result, 57 static bool ParseJsonRequestInternal(Json::Value& result,
57 const char* request); 58 const char* request);
58 59
59 public: 60 public:
60 RestApiCall(RestApiOutput& output, 61 RestApiCall(RestApiOutput& output,
61 RestApi& context, 62 RestApi& context,
62 const HttpHandler::Arguments& httpHeaders, 63 const IHttpHandler::Arguments& httpHeaders,
63 const HttpHandler::Arguments& uriComponents, 64 const IHttpHandler::Arguments& uriComponents,
64 const UriComponents& trailing, 65 const UriComponents& trailing,
65 const UriComponents& fullUri) : 66 const UriComponents& fullUri) :
66 output_(output), 67 output_(output),
67 context_(context), 68 context_(context),
68 httpHeaders_(httpHeaders), 69 httpHeaders_(httpHeaders),
93 } 94 }
94 95
95 std::string GetUriComponent(const std::string& name, 96 std::string GetUriComponent(const std::string& name,
96 const std::string& defaultValue) const 97 const std::string& defaultValue) const
97 { 98 {
98 return HttpHandler::GetArgument(uriComponents_, name, defaultValue); 99 return HttpToolbox::GetArgument(uriComponents_, name, defaultValue);
99 } 100 }
100 101
101 std::string GetHttpHeader(const std::string& name, 102 std::string GetHttpHeader(const std::string& name,
102 const std::string& defaultValue) const 103 const std::string& defaultValue) const
103 { 104 {
104 return HttpHandler::GetArgument(httpHeaders_, name, defaultValue); 105 return HttpToolbox::GetArgument(httpHeaders_, name, defaultValue);
105 } 106 }
106 107
107 const HttpHandler::Arguments& GetHttpHeaders() const 108 const IHttpHandler::Arguments& GetHttpHeaders() const
108 { 109 {
109 return httpHeaders_; 110 return httpHeaders_;
110 } 111 }
111 112
112 void ParseCookies(HttpHandler::Arguments& result) const 113 void ParseCookies(IHttpHandler::Arguments& result) const
113 { 114 {
114 HttpHandler::ParseCookies(result, httpHeaders_); 115 HttpToolbox::ParseCookies(result, httpHeaders_);
115 } 116 }
116 117
117 std::string FlattenUri() const; 118 std::string FlattenUri() const;
118 119
119 virtual bool ParseJsonRequest(Json::Value& result) const = 0; 120 virtual bool ParseJsonRequest(Json::Value& result) const = 0;