diff OrthancFramework/Sources/HttpServer/FilesystemHttpHandler.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/FilesystemHttpHandler.cpp	Tue Oct 17 15:06:11 2023 +0200
+++ b/OrthancFramework/Sources/HttpServer/FilesystemHttpHandler.cpp	Sat Nov 04 13:42:30 2023 +0100
@@ -98,6 +98,7 @@
     s += "</html>";
 
     output.SetContentType(MimeType_Html);
+    output.SetContentCompression(SystemToolbox::GuessContentCompression(MimeType_Html));
     output.Answer(s);
   }
 
@@ -152,8 +153,12 @@
     if (SystemToolbox::IsRegularFile(p.string()))
     {
       FilesystemHttpSender sender(p);
-      sender.SetContentType(SystemToolbox::AutodetectMimeType(p.string()));
-      output.Answer(sender);   // TODO COMPRESSION
+      MimeType mimeType = SystemToolbox::AutodetectMimeType(p.string());
+      ContentCompression contentCompression = SystemToolbox::GuessContentCompression(mimeType);
+
+      sender.SetContentType(mimeType);
+      sender.SetContentCompression(contentCompression);
+      output.Answer(sender);
     }
     else if (listDirectoryContent_ &&
              fs::exists(p) &&