Skip to content

Commit d06efc7

Browse files
authored
fix(core): parse range bytes=0-*, closes #3143 (#3516)
1 parent fb6744d commit d06efc7

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

.changes/range-parse-asterisk.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"tauri": patch
3+
---
4+
5+
Allow range in the form of `bytes=0-*` on the asset protocol.

core/tauri/src/manager.rs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -558,11 +558,18 @@ impl<R: Runtime> WindowManager<R> {
558558
}
559559
};
560560
// parse the range
561-
let range = match crate::runtime::http::HttpRange::parse(&range, file_size) {
561+
let range = match crate::runtime::http::HttpRange::parse(
562+
&if range.ends_with("-*") {
563+
range.chars().take(range.len() - 1).collect::<String>()
564+
} else {
565+
range.clone()
566+
},
567+
file_size,
568+
) {
562569
Ok(r) => r,
563570
Err(e) => {
564571
#[cfg(debug_assertions)]
565-
eprintln!("Failed to parse range: {:?}", e);
572+
eprintln!("Failed to parse range {}: {:?}", range, e);
566573
return (headers, 400, buf);
567574
}
568575
};

0 commit comments

Comments
 (0)