Skip to content

Commit ab06356

Browse files
Merge pull request #17 from n0-computer/fix-gateway-range
fix(gateway): implement content-length header
2 parents 130ba5b + f786bf5 commit ab06356

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

iroh-gateway/src/main.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -465,6 +465,15 @@ async fn forward_range(
465465
.header(header::ACCEPT_RANGES, "bytes")
466466
.header(header::CACHE_CONTROL, "public,max-age=31536000,immutable")
467467
.header(header::CONTENT_TYPE, mime.to_string());
468+
// content-length needs to be the actual repsonse size
469+
let transfer_size = match (start, end) {
470+
(Some(start), Some(end)) => end - start,
471+
(Some(start), None) => size - start,
472+
(None, Some(end)) => end,
473+
(None, None) => size,
474+
};
475+
let builder = builder.header(header::CONTENT_LENGTH, transfer_size);
476+
468477
let builder = if start.is_some() || end.is_some() {
469478
builder.header(
470479
header::CONTENT_RANGE,

0 commit comments

Comments
 (0)