From 9e3470d5b43023f2ff8608647db859886323855d Mon Sep 17 00:00:00 2001 From: _ <_@_> Date: Tue, 27 Oct 2020 21:33:03 -0500 Subject: [PATCH] :sparkle: content-length response header --- src/bin/server.rs | 8 +++++++- todo.md | 2 -- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/bin/server.rs b/src/bin/server.rs index e529096..bd575d8 100644 --- a/src/bin/server.rs +++ b/src/bin/server.rs @@ -122,6 +122,8 @@ async fn main () -> Result <(), Box > { f.seek (SeekFrom::Start (start)).await.unwrap (); } + let file_md = f.metadata ().await.unwrap (); + tokio::spawn (async move { //println! ("Opening file {:?}", path); @@ -150,7 +152,11 @@ async fn main () -> Result <(), Box > { }); let mut headers: HashMap > = Default::default (); - headers.insert (String::from ("x-its-a-header"), Vec::from (&b"wow"[..])); + //headers.insert (String::from ("x-its-a-header"), Vec::from (&b"wow"[..])); + + if range_start.is_none () && range_end.is_none () { + headers.insert (String::from ("content-length"), file_md.len ().to_string ().into_bytes ()); + } let resp_parts = http_serde::ResponseParts { status_code: http_serde::StatusCode::Ok, diff --git a/todo.md b/todo.md index dfeb27b..4f963e2 100644 --- a/todo.md +++ b/todo.md @@ -1,3 +1 @@ -- Figure out how to pack response status / headers into request body - Byte range request header -- Content-Length response header