diff OrthancFramework/Sources/HttpServer/HttpFileSender.cpp @ 5406:aaf7c49a9ddc am-http-compression

tentative to implement smart HTTP compression with detection of transfer syntax
author Alain Mazy <am@osimis.io>
date Sat, 04 Nov 2023 13:42:30 +0100
parents 0ea402b4d901
children
line wrap: on
line diff
--- a/OrthancFramework/Sources/HttpServer/HttpFileSender.cpp	Tue Oct 17 15:06:11 2023 +0200
+++ b/OrthancFramework/Sources/HttpServer/HttpFileSender.cpp	Sat Nov 04 13:42:30 2023 +0100
@@ -32,6 +32,11 @@
 
 namespace Orthanc
 {
+  void HttpFileSender::SetContentCompression(ContentCompression contentCompression)
+  {
+    contentCompression_ = contentCompression;
+  }
+
   void HttpFileSender::SetContentType(MimeType contentType)
   {
     contentType_ = EnumerationToString(contentType);
@@ -47,13 +52,20 @@
     return contentType_;
   }
 
+  ContentCompression HttpFileSender::GuessContentCompression() const
+  {
+    return contentCompression_;
+  }
+
   void HttpFileSender::SetContentFilename(const std::string& filename)
   {
     filename_ = filename;
 
     if (contentType_.empty())
     {
-      contentType_ = SystemToolbox::AutodetectMimeType(filename);
+      MimeType mimeType = SystemToolbox::AutodetectMimeType(filename);
+      contentType_ = EnumerationToString(mimeType);
+      contentCompression_ = SystemToolbox::GuessContentCompression(mimeType);
     }
   }