diff Framework/Oracle/GetOrthancImageCommand.cpp @ 1255:c1c83c1fb837 broker

GetOrthancImageCommand: handling of unsupported formats
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 08 Jan 2020 15:22:13 +0100
parents 78b8bfe154bc
children 0ca50d275b9a
line wrap: on
line diff
--- a/Framework/Oracle/GetOrthancImageCommand.cpp	Wed Jan 08 14:01:36 2020 +0100
+++ b/Framework/Oracle/GetOrthancImageCommand.cpp	Wed Jan 08 15:22:13 2020 +0100
@@ -84,6 +84,19 @@
                                                  const std::string& answer,
                                                  const HttpHeaders& answerHeaders) const
   {
+    for (HttpHeaders::const_iterator it = answerHeaders.begin(); it != answerHeaders.end(); ++it)
+    {
+      std::string key = Orthanc::Toolbox::StripSpaces(it->first);
+      Orthanc::Toolbox::ToLowerCase(key);
+        
+      if (key == "content-disposition" &&
+          it->second == "filename=\"unsupported.png\"")
+      {
+        throw Orthanc::OrthancException(Orthanc::ErrorCode_IncompatibleImageFormat,
+                                        "Orthanc cannot decode this image");
+      }
+    }
+    
     Orthanc::MimeType contentType = Orthanc::MimeType_Binary;
 
     for (HttpHeaders::const_iterator it = answerHeaders.begin();