[rygel/rygel-0-16] server: Add missing Content-Length header



commit 6f5a29cb029e23b252a41b86c5a472783964d1b4
Author: Jens Georg <jensg openismus com>
Date:   Mon Nov 12 23:23:03 2012 +0100

    server: Add missing Content-Length header
    
    More fall-out from that seeking bugfix. Caused seek in player not to work as
    well as missing length information for several file types.

 src/librygel-server/rygel-http-get.vala            |    2 +-
 .../rygel-http-identity-handler.vala               |    5 +++++
 2 files changed, 6 insertions(+), 1 deletions(-)
---
diff --git a/src/librygel-server/rygel-http-get.vala b/src/librygel-server/rygel-http-get.vala
index 7467da9..8b4b2b1 100644
--- a/src/librygel-server/rygel-http-get.vala
+++ b/src/librygel-server/rygel-http-get.vala
@@ -164,7 +164,7 @@ internal class Rygel.HTTPGet : HTTPRequest {
             this.msg.set_status (Soup.KnownStatusCode.OK);
         }
 
-        if (this.seek != null && this.seek is HTTPByteSeek) {
+        if (this.handler is HTTPIdentityHandler) {
             this.msg.response_headers.set_encoding (Soup.Encoding.CONTENT_LENGTH);
         } else {
             this.msg.response_headers.set_encoding (Soup.Encoding.EOF);
diff --git a/src/librygel-server/rygel-http-identity-handler.vala b/src/librygel-server/rygel-http-identity-handler.vala
index 845fe32..3b4c10f 100644
--- a/src/librygel-server/rygel-http-identity-handler.vala
+++ b/src/librygel-server/rygel-http-identity-handler.vala
@@ -46,6 +46,11 @@ internal class Rygel.HTTPIdentityHandler : Rygel.HTTPGetHandler {
 
         if (request.seek != null) {
             request.seek.add_response_headers ();
+        } else {
+            if (request.item.size > 0) {
+                request.msg.response_headers.set_content_length
+                                        (request.item.size);
+            }
         }
 
         // Chain-up



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]