diff OrthancServer/OrthancRestApi/OrthancRestModalities.cpp @ 1428:0a355eeeb351

optimization
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 29 Jun 2015 13:26:34 +0200
parents d710ea64f0fd
children 8dc80ba768aa
line wrap: on
line diff
--- a/OrthancServer/OrthancRestApi/OrthancRestModalities.cpp	Mon Jun 29 12:42:54 2015 +0200
+++ b/OrthancServer/OrthancRestApi/OrthancRestModalities.cpp	Mon Jun 29 13:26:34 2015 +0200
@@ -553,20 +553,20 @@
    * DICOM C-Store SCU
    ***************************************************************************/
 
-  static bool GetInstancesToExport(Json::Value& request,
+  static bool GetInstancesToExport(Json::Value& otherArguments,
                                    std::list<std::string>& instances,
                                    const std::string& remote,
                                    RestApiPostCall& call)
   {
+    otherArguments = Json::objectValue;
     ServerContext& context = OrthancRestApi::GetContext(call);
 
-    std::string stripped = Toolbox::StripSpaces(call.GetPostBody());
-
-    request = Json::objectValue;
-    if (Toolbox::IsSHA1(stripped))
+    Json::Value request;
+    if (Toolbox::IsSHA1(call.GetPostBody()))
     {
       // This is for compatibility with Orthanc <= 0.5.1.
-      request = stripped;
+      request = Json::arrayValue;
+      request.append(Toolbox::StripSpaces(call.GetPostBody()));
     }
     else if (!call.ParseJsonRequest(request))
     {
@@ -576,13 +576,9 @@
 
     if (request.isString())
     {
-      if (Configuration::GetGlobalBoolParameter("LogExportedResources", true))
-      {
-        context.GetIndex().LogExportedResource(request.asString(), remote);
-      }
-
-      context.GetIndex().GetChildInstances(instances, request.asString());
-      return true;
+      std::string item = request.asString();
+      request = Json::arrayValue;
+      request.append(item);
     }
 
     const Json::Value* resources;
@@ -603,6 +599,13 @@
       {
         return false;
       }
+
+      // Copy the remaining arguments
+      Json::Value::Members members = request.getMemberNames();
+      for (Json::Value::ArrayIndex i = 0; i < members.size(); i++)
+      {
+        otherArguments[members[i]] = request[members[i]];
+      }
     }
 
     for (Json::Value::ArrayIndex i = 0; i < resources->size(); i++)