comparison Platforms/Generic/WebServiceGetCommand.cpp @ 309:14ef1227120f am-callable-and-promise

web services: better handling of failures
author am@osimis.io
date Fri, 28 Sep 2018 15:02:43 +0200
parents 547e1cf7aa7b
children aee3d7941c9b
comparison
equal deleted inserted replaced
307:be2660b6e40a 309:14ef1227120f
30 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, // takes ownership 30 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, // takes ownership
31 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, // takes ownership 31 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, // takes ownership
32 const Orthanc::WebServiceParameters& parameters, 32 const Orthanc::WebServiceParameters& parameters,
33 const std::string& uri, 33 const std::string& uri,
34 const IWebService::Headers& headers, 34 const IWebService::Headers& headers,
35 unsigned int timeoutInSeconds,
35 Orthanc::IDynamicObject* payload /* takes ownership */, 36 Orthanc::IDynamicObject* payload /* takes ownership */,
36 NativeStoneApplicationContext& context) : 37 NativeStoneApplicationContext& context) :
37 WebServiceCommandBase(broker, successCallback, failureCallback, parameters, uri, headers, payload, context) 38 WebServiceCommandBase(broker, successCallback, failureCallback, parameters, uri, headers, timeoutInSeconds, payload, context)
38 { 39 {
39 } 40 }
40 41
41 42
42 void WebServiceGetCommand::Execute() 43 void WebServiceGetCommand::Execute()
43 { 44 {
44 Orthanc::HttpClient client(parameters_, uri_); 45 Orthanc::HttpClient client(parameters_, uri_);
45 client.SetTimeout(60); 46 client.SetTimeout(timeoutInSeconds_);
46 client.SetMethod(Orthanc::HttpMethod_Get); 47 client.SetMethod(Orthanc::HttpMethod_Get);
47 48
48 for (IWebService::Headers::const_iterator it = headers_.begin(); it != headers_.end(); it++ ) 49 for (IWebService::Headers::const_iterator it = headers_.begin(); it != headers_.end(); it++ )
49 { 50 {
50 client.AddHeader(it->first, it->second); 51 client.AddHeader(it->first, it->second);