🐛(y-provider) use CONVERSION_FILE_MAX_SIZE settings

The settings CONVERSION_FILE_MAX_SIZE was not used
in the y-provider, which caused a 413 Payload
Too Large error when trying to convert a file larger
than 500kb.
This commit updates the y-provider to use the
CONVERSION_FILE_MAX_SIZE settings, allowing it to
handle larger files without throwing an error.
CONVERSION_FILE_MAX_SIZE should follow the same
value as the one defined in the backend settings,
which is 20mb by default.
This commit is contained in:
Anthony LC
2026-02-24 14:23:42 +01:00
parent 9f9f26974c
commit e323af2cdb
5 changed files with 9 additions and 3 deletions

View File

@@ -30,6 +30,7 @@ and this project adheres to
- 🐛(frontend) fix broadcast store sync #1846
- 🐛(helm) use celery resources instead of backend resources
- 🐛(helm) reverse liveness and readiness for backend deployment
- 🐛(y-provider) use CONVERSION_FILE_MAX_SIZE settings #1913
## [v4.5.0] - 2026-01-28

View File

@@ -736,7 +736,7 @@ class Base(Configuration):
# Imported file settings
CONVERSION_FILE_MAX_SIZE = values.IntegerValue(
20 * MB, # 10MB
20 * MB,
environ_name="CONVERSION_FILE_MAX_SIZE",
environ_prefix=None,
)

View File

@@ -9,6 +9,7 @@ vi.mock('../src/env', async (importOriginal) => {
...(await importOriginal()),
COLLABORATION_SERVER_ORIGIN: 'http://localhost:3000',
Y_PROVIDER_API_KEY: 'yprovider-api-key',
CONVERSION_FILE_MAX_SIZE: 500 * 1024, // 500kb
};
});
@@ -54,7 +55,7 @@ describe('Server Tests', () => {
expect(response.status).not.toBe(413);
});
it('rejects payloads larger than 500kb for the CONVERT route', async () => {
it('rejects payloads larger than CONVERSION_FILE_MAX_SIZE for the CONVERT route', async () => {
const app = initApp();
const oversizedPayload = 'a'.repeat(501 * 1024); // 501kb payload

View File

@@ -8,6 +8,9 @@ export const COLLABORATION_SERVER_SECRET = process.env
.COLLABORATION_SERVER_SECRET_FILE
? readFileSync(process.env.COLLABORATION_SERVER_SECRET_FILE, 'utf-8')
: process.env.COLLABORATION_SERVER_SECRET || 'secret-api-key';
export const CONVERSION_FILE_MAX_SIZE = process.env.CONVERSION_FILE_MAX_SIZE
? Number(process.env.CONVERSION_FILE_MAX_SIZE)
: 20971520; // 20 MB default
export const Y_PROVIDER_API_KEY = process.env.Y_PROVIDER_API_KEY_FILE
? readFileSync(process.env.Y_PROVIDER_API_KEY_FILE, 'utf-8')
: process.env.Y_PROVIDER_API_KEY || 'yprovider-api-key';

View File

@@ -5,6 +5,7 @@ import * as Sentry from '@sentry/node';
import express from 'express';
import expressWebsockets from 'express-ws';
import { CONVERSION_FILE_MAX_SIZE } from '@/env';
import {
collaborationResetConnectionsHandler,
collaborationWSHandler,
@@ -55,7 +56,7 @@ export const initApp = () => {
routes.CONVERT,
httpSecurity,
express.raw({
limit: '500kb',
limit: CONVERSION_FILE_MAX_SIZE,
type: '*/*',
}),
convertHandler,