comparison Platforms/Generic/WebServiceGetCommand.cpp @ 300:b4abaeb783b1 am-callable-and-promise

messaging refactoring almost complete: works fine in native
author am@osimis.io
date Tue, 18 Sep 2018 15:23:21 +0200
parents 3897f9f28cfa
children 547e1cf7aa7b
comparison
equal deleted inserted replaced
299:3897f9f28cfa 300:b4abaeb783b1
11 * 11 *
12 * This program is distributed in the hope that it will be useful, but 12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of 13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Affero General Public License for more details. 15 * Affero General Public License for more details.
16 * 16 *
17 * You should have received a copy of the GNU Affero General Public License 17 * You should have received a copy of the GNU Affero General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 **/ 19 **/
20 20
21 21
23 23
24 #include <Core/HttpClient.h> 24 #include <Core/HttpClient.h>
25 25
26 namespace OrthancStone 26 namespace OrthancStone
27 { 27 {
28
28 WebServiceGetCommand::WebServiceGetCommand(MessageBroker& broker, 29 WebServiceGetCommand::WebServiceGetCommand(MessageBroker& broker,
29 IWebService::ICallback& callback, 30 MessageHandler<IWebService::NewHttpRequestSuccessMessage>* successCallback, // takes ownership
31 MessageHandler<IWebService::NewHttpRequestErrorMessage>* failureCallback, // takes ownership
30 const Orthanc::WebServiceParameters& parameters, 32 const Orthanc::WebServiceParameters& parameters,
31 const std::string& uri, 33 const std::string& uri,
32 const IWebService::Headers& headers, 34 const IWebService::Headers& headers,
33 Orthanc::IDynamicObject* payload /* takes ownership */, 35 Orthanc::IDynamicObject* payload /* takes ownership */,
34 NativeStoneApplicationContext& context) : 36 NativeStoneApplicationContext& context) :
35 WebServiceCommandBase(broker, callback, parameters, uri, headers, payload, context) 37 WebServiceCommandBase(broker, successCallback, failureCallback, parameters, uri, headers, payload, context)
36 { 38 {
37 } 39 }
38 40
39 41
40 void WebServiceGetCommand::Execute() 42 void WebServiceGetCommand::Execute()
49 } 51 }
50 52
51 success_ = client.Apply(answer_); 53 success_ = client.Apply(answer_);
52 } 54 }
53 55
54 NewWebServiceGetCommand::NewWebServiceGetCommand(MessageBroker& broker,
55 MessageHandler<IWebService::NewHttpRequestSuccessMessage>* successCallback, // takes ownership
56 MessageHandler<IWebService::NewHttpRequestErrorMessage>* failureCallback, // takes ownership
57 const Orthanc::WebServiceParameters& parameters,
58 const std::string& uri,
59 const IWebService::Headers& headers,
60 Orthanc::IDynamicObject* payload /* takes ownership */,
61 NativeStoneApplicationContext& context) :
62 NewWebServiceCommandBase(broker, successCallback, failureCallback, parameters, uri, headers, payload, context)
63 {
64 }
65
66
67 void NewWebServiceGetCommand::Execute()
68 {
69 Orthanc::HttpClient client(parameters_, uri_);
70 client.SetTimeout(60);
71 client.SetMethod(Orthanc::HttpMethod_Get);
72
73 for (IWebService::Headers::const_iterator it = headers_.begin(); it != headers_.end(); it++ )
74 {
75 client.AddHeader(it->first, it->second);
76 }
77
78 success_ = client.Apply(answer_);
79 }
80
81 } 56 }