]> spindle.queued.net Git - midori/commitdiff
Return the correct content type in res_server responses
authorChristian Dywan <christian@twotoasts.de>
Sun, 3 May 2009 22:51:14 +0000 (00:51 +0200)
committerChristian Dywan <christian@twotoasts.de>
Sun, 3 May 2009 22:51:14 +0000 (00:51 +0200)
midori/sokoke.c

index 1af7289de3fe9af3e748e115352493f016431e87..c144aa79d3897be13b5303eb473fdbb0a233c4a6 100644 (file)
@@ -984,13 +984,17 @@ res_server_handler_cb (SoupServer*        res_server,
     {
         gchar* filename = g_strconcat (DATADIR "/midori", path, NULL);
         gchar* contents;
-        guint length;
+        gsize length;
 
         if (g_file_get_contents (filename, &contents, &length, NULL))
         {
-            /* FIXME: Support any MIME type */
-            soup_message_set_response (msg, "image/png", SOUP_MEMORY_TAKE,
+            gchar* content_type = g_content_type_guess (filename, (guchar*)contents,
+                                                        length, NULL);
+            gchar* mime_type = g_content_type_get_mime_type (content_type);
+            g_free (content_type);
+            soup_message_set_response (msg, mime_type, SOUP_MEMORY_TAKE,
                                        contents, length);
+            g_free (mime_type);
             soup_message_set_status (msg, 401);
         }
         else