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)