Mercurial > hg > orthanc-stone
comparison Platforms/Generic/WebServicePostCommand.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 |
---|---|
29 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, // takes ownership | 29 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, // takes ownership |
30 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, // takes ownership | 30 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, // takes ownership |
31 const Orthanc::WebServiceParameters& parameters, | 31 const Orthanc::WebServiceParameters& parameters, |
32 const std::string& uri, | 32 const std::string& uri, |
33 const IWebService::Headers& headers, | 33 const IWebService::Headers& headers, |
34 unsigned int timeoutInSeconds, | |
34 const std::string& body, | 35 const std::string& body, |
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 body_(body) | 39 body_(body) |
39 { | 40 { |
40 } | 41 } |
41 | 42 |
42 void WebServicePostCommand::Execute() | 43 void WebServicePostCommand::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_Post); | 47 client.SetMethod(Orthanc::HttpMethod_Post); |
47 client.GetBody().swap(body_); | 48 client.GetBody().swap(body_); |
48 | 49 |
49 for (IWebService::Headers::const_iterator it = headers_.begin(); it != headers_.end(); it++ ) | 50 for (IWebService::Headers::const_iterator it = headers_.begin(); it != headers_.end(); it++ ) |
50 { | 51 { |