From f786bf5dfd8d7316c97b4456211f8d31af66bb33 Mon Sep 17 00:00:00 2001 From: dignifiedquire Date: Thu, 18 Jan 2024 21:11:08 +0100 Subject: [PATCH] implement content-length header --- iroh-gateway/src/main.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/iroh-gateway/src/main.rs b/iroh-gateway/src/main.rs index 53d1ddca..9d11fac6 100644 --- a/iroh-gateway/src/main.rs +++ b/iroh-gateway/src/main.rs @@ -465,6 +465,15 @@ async fn forward_range( .header(header::ACCEPT_RANGES, "bytes") .header(header::CACHE_CONTROL, "public,max-age=31536000,immutable") .header(header::CONTENT_TYPE, mime.to_string()); + // content-length needs to be the actual repsonse size + let transfer_size = match (start, end) { + (Some(start), Some(end)) => end - start, + (Some(start), None) => size - start, + (None, Some(end)) => end, + (None, None) => size, + }; + let builder = builder.header(header::CONTENT_LENGTH, transfer_size); + let builder = if start.is_some() || end.is_some() { builder.header( header::CONTENT_RANGE,