diff Platforms/Generic/WebServiceGetCommand.cpp @ 299:3897f9f28cfa am-callable-and-promise

backup work in progress: updated messaging framework with ICallable
author am@osimis.io
date Fri, 14 Sep 2018 16:44:01 +0200
parents 87376a645ee1
children b4abaeb783b1
line wrap: on
line diff
--- a/Platforms/Generic/WebServiceGetCommand.cpp	Mon Sep 10 12:22:26 2018 +0200
+++ b/Platforms/Generic/WebServiceGetCommand.cpp	Fri Sep 14 16:44:01 2018 +0200
@@ -51,4 +51,31 @@
     success_ = client.Apply(answer_);
   }
 
+  NewWebServiceGetCommand::NewWebServiceGetCommand(MessageBroker& broker,
+                                                   MessageHandler<IWebService::NewHttpRequestSuccessMessage>* successCallback,  // takes ownership
+                                                   MessageHandler<IWebService::NewHttpRequestErrorMessage>* failureCallback,  // takes ownership
+                                             const Orthanc::WebServiceParameters& parameters,
+                                             const std::string& uri,
+                                             const IWebService::Headers& headers,
+                                             Orthanc::IDynamicObject* payload /* takes ownership */,
+                                             NativeStoneApplicationContext& context) :
+    NewWebServiceCommandBase(broker, successCallback, failureCallback, parameters, uri, headers, payload, context)
+  {
+  }
+
+
+  void NewWebServiceGetCommand::Execute()
+  {
+    Orthanc::HttpClient client(parameters_, uri_);
+    client.SetTimeout(60);
+    client.SetMethod(Orthanc::HttpMethod_Get);
+
+    for (IWebService::Headers::const_iterator it = headers_.begin(); it != headers_.end(); it++ )
+    {
+      client.AddHeader(it->first, it->second);
+    }
+
+    success_ = client.Apply(answer_);
+  }
+
 }