diff Plugins/Engine/OrthancPlugins.cpp @ 1594:2bac60a4f584

OrthancPluginSendHttpStatus
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 27 Aug 2015 12:56:48 +0200
parents 235d89817b89
children e1e54a73ba8b
line wrap: on
line diff
--- a/Plugins/Engine/OrthancPlugins.cpp	Thu Aug 27 12:32:09 2015 +0200
+++ b/Plugins/Engine/OrthancPlugins.cpp	Thu Aug 27 12:56:48 2015 +0200
@@ -522,6 +522,25 @@
   }
 
 
+  void OrthancPlugins::SendHttpStatus(const void* parameters)
+  {
+    const _OrthancPluginSendHttpStatus& p = 
+      *reinterpret_cast<const _OrthancPluginSendHttpStatus*>(parameters);
+
+    HttpOutput* translatedOutput = reinterpret_cast<HttpOutput*>(p.output);
+    HttpStatus status = static_cast<HttpStatus>(p.status);
+
+    if (p.bodySize > 0 && p.body != NULL)
+    {
+      translatedOutput->SendStatus(status, p.body, p.bodySize);
+    }
+    else
+    {
+      translatedOutput->SendStatus(status);
+    }
+  }
+
+
   void OrthancPlugins::SendUnauthorized(const void* parameters)
   {
     const _OrthancPluginOutputPlusArgument& p = 
@@ -1043,6 +1062,10 @@
         SendMethodNotAllowed(parameters);
         return true;
 
+      case _OrthancPluginService_SendHttpStatus:
+        SendHttpStatus(parameters);
+        return true;
+
       case _OrthancPluginService_SendHttpStatusCode:
         SendHttpStatusCode(parameters);
         return true;