summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/FileServerService.ts
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2024-05-09 20:28:58 +0000
committerdakkar <dakkar@thenautilus.net>2024-05-09 20:28:58 +0000
commit3d6eb18e2a909be37f2e47fb645edda18d9a889f (patch)
treefc3e7f55467c6f266b8bd6b328d16057600a4851 /packages/backend/src/server/FileServerService.ts
parentmerge: release 2024.3.2 (!485) (diff)
parentpin to node 20 (diff)
downloadsharkey-3d6eb18e2a909be37f2e47fb645edda18d9a889f.tar.gz
sharkey-3d6eb18e2a909be37f2e47fb645edda18d9a889f.tar.bz2
sharkey-3d6eb18e2a909be37f2e47fb645edda18d9a889f.zip
merge: Release 2024.3.3 (!501)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/501 Approved-by: Amelia Yukii <amelia.yukii@shourai.de> Approved-by: Marie <marie@kaifa.ch>
Diffstat (limited to 'packages/backend/src/server/FileServerService.ts')
-rw-r--r--packages/backend/src/server/FileServerService.ts6
1 files changed, 5 insertions, 1 deletions
diff --git a/packages/backend/src/server/FileServerService.ts b/packages/backend/src/server/FileServerService.ts
index 6d24898acc..3cb353f2b3 100644
--- a/packages/backend/src/server/FileServerService.ts
+++ b/packages/backend/src/server/FileServerService.ts
@@ -192,6 +192,7 @@ export class FileServerService {
reply.header('Content-Range', `bytes ${start}-${end}/${file.file.size}`);
reply.header('Accept-Ranges', 'bytes');
reply.header('Content-Length', chunksize);
+ reply.code(206);
} else {
image = {
data: fs.createReadStream(file.path),
@@ -261,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;
}
@@ -431,6 +431,7 @@ export class FileServerService {
reply.header('Content-Range', `bytes ${start}-${end}/${file.file.size}`);
reply.header('Accept-Ranges', 'bytes');
reply.header('Content-Length', chunksize);
+ reply.code(206);
} else {
image = {
data: fs.createReadStream(file.path),
@@ -527,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,