mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2026-02-17 13:52:14 +01:00
## Description Fixes #5542 This PR adds support for environment variables to configure the file upload limit, which was previously ignored. ## Changes - **Added support for `SYSTEMFILEUPLOADLIMIT` environment variable**: Accepts format like "100MB", "1GB", etc. - **Added support for `SYSTEM_MAXFILESIZE` environment variable**: Accepts number in MB (e.g., "100" for 100MB) - **Initialize `fileUploadLimit` from environment variables**: Added `@PostConstruct` method in `ApplicationProperties` to read env vars and set `fileUploadLimit` if not already set in settings.yml - **Created `MultipartConfiguration`**: New configuration class that syncs Spring multipart settings with `fileUploadLimit` from settings.yml or environment variables - **Updated `application.properties`**: Added documentation about environment variable support ## How it works 1. On startup, `ApplicationProperties.initializeFileUploadLimitFromEnv()` checks for `SYSTEMFILEUPLOADLIMIT` or `SYSTEM_MAXFILESIZE` environment variables 2. If found and `fileUploadLimit` is not set in settings.yml, it sets the value 3. `MultipartConfiguration` reads the `fileUploadLimit` via `UploadLimitService` and configures Spring multipart settings accordingly 4. Users can also still use `SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE` and `SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE` directly ## Testing Set environment variables: - `SYSTEMFILEUPLOADLIMIT=10MB` or - `SYSTEM_MAXFILESIZE=10` The `fileUploadLimit` in settings.yml should be populated and multipart limits should be respected.