diff OrthancFramework/Sources/Toolbox.cpp @ 5143:95d8e0540219

avoid double '/' in HttpClient uri
author Alain Mazy <am@osimis.io>
date Wed, 25 Jan 2023 17:56:09 +0100
parents 859f3668c181
children de7a639c5ad2
line wrap: on
line diff
--- a/OrthancFramework/Sources/Toolbox.cpp	Tue Jan 24 15:05:40 2023 +0100
+++ b/OrthancFramework/Sources/Toolbox.cpp	Wed Jan 25 17:56:09 2023 +0100
@@ -414,6 +414,23 @@
     }
   }
 
+  std::string Toolbox::JoinUri(const std::string& base, const std::string& uri)
+  {
+    if (uri.size() > 0 && base.size() > 0)
+    {
+      if (base[base.size() - 1] == '/' && uri[0] == '/')
+      {
+        return base + uri.substr(1, uri.size() - 1);
+      }
+      else if (base[base.size() - 1] != '/' && uri[0] != '/')
+      {
+        return base + "/" + uri;
+      }
+    }
+
+    return base + uri;
+  }
+
 
 #if ORTHANC_ENABLE_MD5 == 1
   static char GetHexadecimalCharacter(uint8_t value)