summaryrefslogtreecommitdiff
path: root/packages/backend/src
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2024-12-08 08:07:55 -0500
committerHazelnoot <acomputerdog@gmail.com>2024-12-08 08:07:55 -0500
commit3864d1dacf269b82d731ef99a3bd663c44f5e086 (patch)
treeb8aa71e0ea74c1de6131143b10d882631bd15f03 /packages/backend/src
parentMerge branch 'develop' into feature/2024.10 (diff)
parentmerge: Fix Content-Length resetting for partial content length requests (!796) (diff)
downloadsharkey-3864d1dacf269b82d731ef99a3bd663c44f5e086.tar.gz
sharkey-3864d1dacf269b82d731ef99a3bd663c44f5e086.tar.bz2
sharkey-3864d1dacf269b82d731ef99a3bd663c44f5e086.zip
Merge branch 'develop' into feature/2024.10
# Conflicts: # packages/frontend/src/pages/admin/index.vue
Diffstat (limited to 'packages/backend/src')
-rw-r--r--packages/backend/src/boot/common.ts3
-rw-r--r--packages/backend/src/server/FileServerService.ts4
2 files changed, 6 insertions, 1 deletions
diff --git a/packages/backend/src/boot/common.ts b/packages/backend/src/boot/common.ts
index 268c07582d..ad59a55688 100644
--- a/packages/backend/src/boot/common.ts
+++ b/packages/backend/src/boot/common.ts
@@ -12,6 +12,7 @@ import { QueueStatsService } from '@/daemons/QueueStatsService.js';
import { ServerStatsService } from '@/daemons/ServerStatsService.js';
import { ServerService } from '@/server/ServerService.js';
import { MainModule } from '@/MainModule.js';
+import { envOption } from '@/env.js';
export async function server() {
const app = await NestFactory.createApplicationContext(MainModule, {
@@ -23,6 +24,8 @@ export async function server() {
if (process.env.NODE_ENV !== 'test') {
app.get(ChartManagementService).start();
+ }
+ if (!envOption.noDaemons) {
app.get(QueueStatsService).start();
app.get(ServerStatsService).start();
}
diff --git a/packages/backend/src/server/FileServerService.ts b/packages/backend/src/server/FileServerService.ts
index a4d0588fbe..18d313db06 100644
--- a/packages/backend/src/server/FileServerService.ts
+++ b/packages/backend/src/server/FileServerService.ts
@@ -192,6 +192,9 @@ export class FileServerService {
}
}
+ // set Content-Length before we chunk, so it can properly override when chunking.
+ reply.header('Content-Length', file.file.size);
+
if (!image) {
if (request.headers.range && file.file.size > 0) {
const range = request.headers.range as string;
@@ -235,7 +238,6 @@ export class FileServerService {
}
reply.header('Content-Type', FILE_TYPE_BROWSERSAFE.includes(image.type) ? image.type : 'application/octet-stream');
- reply.header('Content-Length', file.file.size);
reply.header('Cache-Control', 'max-age=31536000, immutable');
reply.header('Content-Disposition',
contentDisposition(