diff Platforms/Wasm/WasmWebService.cpp @ 417:aee3d7941c9b

preparing to load images using DICOMweb
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 15 Nov 2018 17:28:15 +0100
parents aad37d0b6407
children c23df8b3433b
line wrap: on
line diff
--- a/Platforms/Wasm/WasmWebService.cpp	Tue Nov 13 10:36:53 2018 +0100
+++ b/Platforms/Wasm/WasmWebService.cpp	Thu Nov 15 17:28:15 2018 +0100
@@ -49,6 +49,7 @@
                                                          const char* uri,
                                                          const void* body,
                                                          size_t bodySize,
+                                                         const char* answerHeaders,
                                                          void* payload)
   {
     if (successCallable == NULL)
@@ -57,9 +58,15 @@
     }
     else
     {
+      OrthancStone::IWebService::HttpHeaders headers;
+
+      // TODO - Parse "answerHeaders"
+      printf("[%s]\n", answerHeaders);
+      
       reinterpret_cast<OrthancStone::MessageHandler<OrthancStone::IWebService::HttpRequestSuccessMessage>*>(successCallable)->
-        Apply(OrthancStone::IWebService::HttpRequestSuccessMessage(uri, body, bodySize, reinterpret_cast<Orthanc::IDynamicObject*>(payload)));
-   }
+        Apply(OrthancStone::IWebService::HttpRequestSuccessMessage(uri, body, bodySize, headers,
+                                                                   reinterpret_cast<Orthanc::IDynamicObject*>(payload)));
+    }
   }
 
   void EMSCRIPTEN_KEEPALIVE WasmWebService_SetBaseUri(const char* baseUri)
@@ -91,10 +98,10 @@
     }
   }
 
-  void ToJsonString(std::string& output, const IWebService::Headers& headers)
+  void ToJsonString(std::string& output, const IWebService::HttpHeaders& headers)
   {
     Json::Value jsonHeaders;
-    for (IWebService::Headers::const_iterator it = headers.begin(); it != headers.end(); it++ )
+    for (IWebService::HttpHeaders::const_iterator it = headers.begin(); it != headers.end(); it++ )
     {
       jsonHeaders[it->first] = it->second;
     }
@@ -108,7 +115,7 @@
   }
 
   void WasmWebService::PostAsync(const std::string& relativeUri,
-                                 const Headers& headers,
+                                 const HttpHeaders& headers,
                                  const std::string& body,
                                  Orthanc::IDynamicObject* payload,
                                  MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallable,
@@ -119,11 +126,11 @@
     std::string headersInJsonString;
     ToJsonString(headersInJsonString, headers);
     WasmWebService_PostAsync(successCallable, failureCallable, uri.c_str(), headersInJsonString.c_str(),
-                                       body.c_str(), body.size(), payload, timeoutInSeconds);
+                             body.c_str(), body.size(), payload, timeoutInSeconds);
   }
 
   void WasmWebService::DeleteAsync(const std::string& relativeUri,
-                                   const Headers& headers,
+                                   const HttpHeaders& headers,
                                    Orthanc::IDynamicObject* payload,
                                    MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallable,
                                    MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallable,
@@ -137,16 +144,15 @@
   }
 
   void WasmWebService::GetAsync(const std::string& relativeUri,
-                                 const Headers& headers,
-                                 Orthanc::IDynamicObject* payload,
-                                 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallable,
-                                 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallable,
-                                 unsigned int timeoutInSeconds)
+                                const HttpHeaders& headers,
+                                Orthanc::IDynamicObject* payload,
+                                MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallable,
+                                MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallable,
+                                unsigned int timeoutInSeconds)
   {
     std::string uri = baseUri_ + relativeUri;
     std::string headersInJsonString;
     ToJsonString(headersInJsonString, headers);
     WasmWebService_GetAsync(successCallable, failureCallable, uri.c_str(), headersInJsonString.c_str(), payload, timeoutInSeconds);
   }
-
 }