summaryrefslogtreecommitdiff
path: root/packages/backend/src
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2024-04-09 16:21:30 +0100
committerdakkar <dakkar@thenautilus.net>2024-04-09 16:21:30 +0100
commit960f4fcff78a1f019c9a9377853fcd90dbfb7575 (patch)
tree9202987e2af852a7cc5e9919bf9069186dff6414 /packages/backend/src
parentreturn 206 for every ranged response - fixes #494 (diff)
downloadsharkey-960f4fcff78a1f019c9a9377853fcd90dbfb7575.tar.gz
sharkey-960f4fcff78a1f019c9a9377853fcd90dbfb7575.tar.bz2
sharkey-960f4fcff78a1f019c9a9377853fcd90dbfb7575.zip
detect size of remote files - fixes #494
without this, remote files are assumed to have size 0 (even if we just downloaded them!) and the range-related code won't run
Diffstat (limited to 'packages/backend/src')
-rw-r--r--packages/backend/src/server/FileServerService.ts4
1 files changed, 3 insertions, 1 deletions
diff --git a/packages/backend/src/server/FileServerService.ts b/packages/backend/src/server/FileServerService.ts
index 183f7cb8d7..3cb353f2b3 100644
--- a/packages/backend/src/server/FileServerService.ts
+++ b/packages/backend/src/server/FileServerService.ts
@@ -262,7 +262,6 @@ export class FileServerService {
const parts = range.replace(/bytes=/, '').split('-');
const start = parseInt(parts[0], 10);
let end = parts[1] ? parseInt(parts[1], 10) : file.file.size - 1;
- console.log(end);
if (end > file.file.size) {
end = file.file.size - 1;
}
@@ -529,6 +528,9 @@ export class FileServerService {
if (!file.storedInternal) {
if (!(file.isLink && file.uri)) return '204';
const result = await this.downloadAndDetectTypeFromUrl(file.uri);
+ if (!file.size) {
+ file.size = (await fs.promises.stat(result.path)).size;
+ }
return {
...result,
url: file.uri,