Mercurial > hg > orthanc
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; |