Mercurial > hg > orthanc-stone
comparison Framework/Deprecated/Toolbox/OrthancApiClient.cpp @ 1222:21c2b0eee53c broker
deprecating MessageHandler
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Sat, 07 Dec 2019 18:18:07 +0100 |
parents | b537002f83a9 |
children | 0ca50d275b9a |
comparison
equal
deleted
inserted
replaced
1218:6f3f1ef347a3 | 1222:21c2b0eee53c |
---|---|
66 | 66 |
67 | 67 |
68 class OrthancApiClient::WebServicePayload : public Orthanc::IDynamicObject | 68 class OrthancApiClient::WebServicePayload : public Orthanc::IDynamicObject |
69 { | 69 { |
70 private: | 70 private: |
71 std::auto_ptr< OrthancStone::MessageHandler<EmptyResponseReadyMessage> > emptyHandler_; | 71 std::auto_ptr< MessageHandler<EmptyResponseReadyMessage> > emptyHandler_; |
72 std::auto_ptr< OrthancStone::MessageHandler<JsonResponseReadyMessage> > jsonHandler_; | 72 std::auto_ptr< MessageHandler<JsonResponseReadyMessage> > jsonHandler_; |
73 std::auto_ptr< OrthancStone::MessageHandler<BinaryResponseReadyMessage> > binaryHandler_; | 73 std::auto_ptr< MessageHandler<BinaryResponseReadyMessage> > binaryHandler_; |
74 std::auto_ptr< OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage> > failureHandler_; | 74 std::auto_ptr< MessageHandler<IWebService::HttpRequestErrorMessage> > failureHandler_; |
75 std::auto_ptr< Orthanc::IDynamicObject > userPayload_; | 75 std::auto_ptr< Orthanc::IDynamicObject > userPayload_; |
76 void NotifyConversionError(const IWebService::HttpRequestSuccessMessage& message) const | 76 void NotifyConversionError(const IWebService::HttpRequestSuccessMessage& message) const |
77 { | 77 { |
78 if (failureHandler_.get() != NULL) | 78 if (failureHandler_.get() != NULL) |
79 { | 79 { |
81 (message.GetUri(), Orthanc::HttpStatus_None, userPayload_.get())); | 81 (message.GetUri(), Orthanc::HttpStatus_None, userPayload_.get())); |
82 } | 82 } |
83 } | 83 } |
84 | 84 |
85 public: | 85 public: |
86 WebServicePayload(OrthancStone::MessageHandler<EmptyResponseReadyMessage>* handler, | 86 WebServicePayload(MessageHandler<EmptyResponseReadyMessage>* handler, |
87 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureHandler, | 87 MessageHandler<IWebService::HttpRequestErrorMessage>* failureHandler, |
88 Orthanc::IDynamicObject* userPayload) : | 88 Orthanc::IDynamicObject* userPayload) : |
89 emptyHandler_(handler), | 89 emptyHandler_(handler), |
90 failureHandler_(failureHandler), | 90 failureHandler_(failureHandler), |
91 userPayload_(userPayload) | 91 userPayload_(userPayload) |
92 | 92 |
95 { | 95 { |
96 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); | 96 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); |
97 } | 97 } |
98 } | 98 } |
99 | 99 |
100 WebServicePayload(OrthancStone::MessageHandler<BinaryResponseReadyMessage>* handler, | 100 WebServicePayload(MessageHandler<BinaryResponseReadyMessage>* handler, |
101 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureHandler, | 101 MessageHandler<IWebService::HttpRequestErrorMessage>* failureHandler, |
102 Orthanc::IDynamicObject* userPayload) : | 102 Orthanc::IDynamicObject* userPayload) : |
103 binaryHandler_(handler), | 103 binaryHandler_(handler), |
104 failureHandler_(failureHandler), | 104 failureHandler_(failureHandler), |
105 userPayload_(userPayload) | 105 userPayload_(userPayload) |
106 { | 106 { |
108 { | 108 { |
109 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); | 109 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); |
110 } | 110 } |
111 } | 111 } |
112 | 112 |
113 WebServicePayload(OrthancStone::MessageHandler<JsonResponseReadyMessage>* handler, | 113 WebServicePayload(MessageHandler<JsonResponseReadyMessage>* handler, |
114 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureHandler, | 114 MessageHandler<IWebService::HttpRequestErrorMessage>* failureHandler, |
115 Orthanc::IDynamicObject* userPayload) : | 115 Orthanc::IDynamicObject* userPayload) : |
116 jsonHandler_(handler), | 116 jsonHandler_(handler), |
117 failureHandler_(failureHandler), | 117 failureHandler_(failureHandler), |
118 userPayload_(userPayload) | 118 userPayload_(userPayload) |
119 { | 119 { |
174 } | 174 } |
175 | 175 |
176 | 176 |
177 void OrthancApiClient::GetJsonAsync( | 177 void OrthancApiClient::GetJsonAsync( |
178 const std::string& uri, | 178 const std::string& uri, |
179 OrthancStone::MessageHandler<JsonResponseReadyMessage>* successCallback, | 179 MessageHandler<JsonResponseReadyMessage>* successCallback, |
180 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, | 180 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, |
181 Orthanc::IDynamicObject* payload) | 181 Orthanc::IDynamicObject* payload) |
182 { | 182 { |
183 IWebService::HttpHeaders emptyHeaders; | 183 IWebService::HttpHeaders emptyHeaders; |
184 web_.GetAsync(baseUrl_ + uri, | 184 web_.GetAsync(baseUrl_ + uri, |
185 emptyHeaders, | 185 emptyHeaders, |
186 new WebServicePayload(successCallback, failureCallback, payload), | 186 new WebServicePayload(successCallback, failureCallback, payload), |
187 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> | 187 new DeprecatedCallable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> |
188 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess), | 188 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess), |
189 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> | 189 new DeprecatedCallable<OrthancApiClient, IWebService::HttpRequestErrorMessage> |
190 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError)); | 190 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError)); |
191 } | 191 } |
192 | 192 |
193 | 193 |
194 void OrthancApiClient::GetBinaryAsync( | 194 void OrthancApiClient::GetBinaryAsync( |
195 const std::string& uri, | 195 const std::string& uri, |
196 const std::string& contentType, | 196 const std::string& contentType, |
197 OrthancStone::MessageHandler<BinaryResponseReadyMessage>* successCallback, | 197 MessageHandler<BinaryResponseReadyMessage>* successCallback, |
198 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, | 198 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, |
199 Orthanc::IDynamicObject* payload) | 199 Orthanc::IDynamicObject* payload) |
200 { | 200 { |
201 IWebService::HttpHeaders headers; | 201 IWebService::HttpHeaders headers; |
202 headers["Accept"] = contentType; | 202 headers["Accept"] = contentType; |
203 GetBinaryAsync(uri, headers, successCallback, failureCallback, payload); | 203 GetBinaryAsync(uri, headers, successCallback, failureCallback, payload); |
204 } | 204 } |
205 | 205 |
206 void OrthancApiClient::GetBinaryAsync( | 206 void OrthancApiClient::GetBinaryAsync( |
207 const std::string& uri, | 207 const std::string& uri, |
208 const IWebService::HttpHeaders& headers, | 208 const IWebService::HttpHeaders& headers, |
209 OrthancStone::MessageHandler<BinaryResponseReadyMessage>* successCallback, | 209 MessageHandler<BinaryResponseReadyMessage>* successCallback, |
210 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, | 210 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, |
211 Orthanc::IDynamicObject* payload) | 211 Orthanc::IDynamicObject* payload) |
212 { | 212 { |
213 // printf("GET [%s] [%s]\n", baseUrl_.c_str(), uri.c_str()); | 213 // printf("GET [%s] [%s]\n", baseUrl_.c_str(), uri.c_str()); |
214 | 214 |
215 web_.GetAsync(baseUrl_ + uri, headers, | 215 web_.GetAsync(baseUrl_ + uri, headers, |
216 new WebServicePayload(successCallback, failureCallback, payload), | 216 new WebServicePayload(successCallback, failureCallback, payload), |
217 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> | 217 new DeprecatedCallable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> |
218 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess), | 218 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess), |
219 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> | 219 new DeprecatedCallable<OrthancApiClient, IWebService::HttpRequestErrorMessage> |
220 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError)); | 220 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError)); |
221 } | 221 } |
222 | 222 |
223 | 223 |
224 void OrthancApiClient::PostBinaryAsyncExpectJson( | 224 void OrthancApiClient::PostBinaryAsyncExpectJson( |
225 const std::string& uri, | 225 const std::string& uri, |
226 const std::string& body, | 226 const std::string& body, |
227 OrthancStone::MessageHandler<JsonResponseReadyMessage>* successCallback, | 227 MessageHandler<JsonResponseReadyMessage>* successCallback, |
228 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, | 228 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, |
229 Orthanc::IDynamicObject* payload) | 229 Orthanc::IDynamicObject* payload) |
230 { | 230 { |
231 web_.PostAsync(baseUrl_ + uri, IWebService::HttpHeaders(), body, | 231 web_.PostAsync(baseUrl_ + uri, IWebService::HttpHeaders(), body, |
232 new WebServicePayload(successCallback, failureCallback, payload), | 232 new WebServicePayload(successCallback, failureCallback, payload), |
233 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> | 233 new DeprecatedCallable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> |
234 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess), | 234 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess), |
235 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> | 235 new DeprecatedCallable<OrthancApiClient, IWebService::HttpRequestErrorMessage> |
236 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError)); | 236 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError)); |
237 | 237 |
238 } | 238 } |
239 | 239 |
240 void OrthancApiClient::PostBinaryAsync( | 240 void OrthancApiClient::PostBinaryAsync( |
245 } | 245 } |
246 | 246 |
247 void OrthancApiClient::PostBinaryAsync( | 247 void OrthancApiClient::PostBinaryAsync( |
248 const std::string& uri, | 248 const std::string& uri, |
249 const std::string& body, | 249 const std::string& body, |
250 OrthancStone::MessageHandler<EmptyResponseReadyMessage>* successCallback, | 250 MessageHandler<EmptyResponseReadyMessage>* successCallback, |
251 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, | 251 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, |
252 Orthanc::IDynamicObject* payload /* takes ownership */) | 252 Orthanc::IDynamicObject* payload /* takes ownership */) |
253 { | 253 { |
254 web_.PostAsync(baseUrl_ + uri, IWebService::HttpHeaders(), body, | 254 web_.PostAsync(baseUrl_ + uri, IWebService::HttpHeaders(), body, |
255 new WebServicePayload(successCallback, failureCallback, payload), | 255 new WebServicePayload(successCallback, failureCallback, payload), |
256 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> | 256 new DeprecatedCallable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> |
257 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess), | 257 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess), |
258 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> | 258 new DeprecatedCallable<OrthancApiClient, IWebService::HttpRequestErrorMessage> |
259 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError)); | 259 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError)); |
260 } | 260 } |
261 | 261 |
262 void OrthancApiClient::PostJsonAsyncExpectJson( | 262 void OrthancApiClient::PostJsonAsyncExpectJson( |
263 const std::string& uri, | 263 const std::string& uri, |
264 const Json::Value& data, | 264 const Json::Value& data, |
265 OrthancStone::MessageHandler<JsonResponseReadyMessage>* successCallback, | 265 MessageHandler<JsonResponseReadyMessage>* successCallback, |
266 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, | 266 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, |
267 Orthanc::IDynamicObject* payload) | 267 Orthanc::IDynamicObject* payload) |
268 { | 268 { |
269 std::string body; | 269 std::string body; |
270 MessagingToolbox::JsonToString(body, data); | 270 MessagingToolbox::JsonToString(body, data); |
271 return PostBinaryAsyncExpectJson(uri, body, successCallback, failureCallback, payload); | 271 return PostBinaryAsyncExpectJson(uri, body, successCallback, failureCallback, payload); |
281 } | 281 } |
282 | 282 |
283 void OrthancApiClient::PostJsonAsync( | 283 void OrthancApiClient::PostJsonAsync( |
284 const std::string& uri, | 284 const std::string& uri, |
285 const Json::Value& data, | 285 const Json::Value& data, |
286 OrthancStone::MessageHandler<EmptyResponseReadyMessage>* successCallback, | 286 MessageHandler<EmptyResponseReadyMessage>* successCallback, |
287 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, | 287 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, |
288 Orthanc::IDynamicObject* payload /* takes ownership */) | 288 Orthanc::IDynamicObject* payload /* takes ownership */) |
289 { | 289 { |
290 std::string body; | 290 std::string body; |
291 MessagingToolbox::JsonToString(body, data); | 291 MessagingToolbox::JsonToString(body, data); |
292 return PostBinaryAsync(uri, body, successCallback, failureCallback, payload); | 292 return PostBinaryAsync(uri, body, successCallback, failureCallback, payload); |
293 } | 293 } |
294 | 294 |
295 void OrthancApiClient::DeleteAsync( | 295 void OrthancApiClient::DeleteAsync( |
296 const std::string& uri, | 296 const std::string& uri, |
297 OrthancStone::MessageHandler<EmptyResponseReadyMessage>* successCallback, | 297 MessageHandler<EmptyResponseReadyMessage>* successCallback, |
298 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, | 298 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, |
299 Orthanc::IDynamicObject* payload) | 299 Orthanc::IDynamicObject* payload) |
300 { | 300 { |
301 web_.DeleteAsync(baseUrl_ + uri, IWebService::HttpHeaders(), | 301 web_.DeleteAsync(baseUrl_ + uri, IWebService::HttpHeaders(), |
302 new WebServicePayload(successCallback, failureCallback, payload), | 302 new WebServicePayload(successCallback, failureCallback, payload), |
303 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> | 303 new DeprecatedCallable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> |
304 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess), | 304 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess), |
305 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> | 305 new DeprecatedCallable<OrthancApiClient, IWebService::HttpRequestErrorMessage> |
306 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError)); | 306 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError)); |
307 } | 307 } |
308 | 308 |
309 | 309 |
310 void OrthancApiClient::NotifyHttpSuccess(const IWebService::HttpRequestSuccessMessage& message) | 310 void OrthancApiClient::NotifyHttpSuccess(const IWebService::HttpRequestSuccessMessage& message) |