diff options
| author | RblSb <msrblsb@gmail.com> | 2022-11-05 23:11:49 +0300 |
|---|---|---|
| committer | RblSb <msrblsb@gmail.com> | 2022-11-06 01:08:05 +0300 |
| commit | 3cf8531b06ab5647bd86136a1aaab9561d44be32 (patch) | |
| tree | 3f2116cd26216993bed02ab8521a36fb9b227ee4 /src/server/HttpServer.hx | |
| parent | 9aced72ee93a8e3a44efa8c5809c9a24f46827b3 (diff) | |
Fix downloading for partial content
Diffstat (limited to 'src/server/HttpServer.hx')
| -rw-r--r-- | src/server/HttpServer.hx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/server/HttpServer.hx b/src/server/HttpServer.hx index 2805770..8e4cf75 100644 --- a/src/server/HttpServer.hx +++ b/src/server/HttpServer.hx @@ -123,7 +123,14 @@ class HttpServer { if (!Fs.existsSync(filePath)) return false; final videoSize = Fs.statSync(filePath).size; var range:String = req.headers["range"]; - if (range == null) range = "bytes=0-"; + if (range == null) { + res.statusCode = 200; + res.setHeader("Content-Length", '$videoSize'); + final videoStream = Fs.createReadStream(filePath); + videoStream.pipe(res); + return true; + } + // if (range == null) range = "bytes=0-"; final ranges = ~/[-=]/g.split(range); var start = Std.parseFloat(ranges[1]); if (Utils.isOutOfRange(start, 0, videoSize - 1)) start = 0; |
