feat: Add configurable max_request_line_size to handle long URLs

This commit adds a new configuration option `max_request_line_size` that allows
users to increase the HTTP request line size limit. This is particularly useful
for handling very long continuation tokens that can cause 414 (URI Too Long) errors.

Changes:
- Add `max_request_line_size` property to Config class
- Configure Kemal server to use the custom limit if specified
- Document the option in config.example.yml with recommendations
- Add examples in docker-compose.yml for both YAML and env var configuration

The default behavior remains unchanged (8KB limit) unless explicitly configured.
This provides a solution for users experiencing 414 errors without affecting
existing installations.
This commit is contained in:
Sunghyun Kim
2025-07-21 13:05:23 +09:00
parent df8839d1f0
commit 2b312a1ec5
4 changed files with 23 additions and 0 deletions

View File

@@ -191,6 +191,20 @@ https_only: false
# path: /tmp/invidious.sock
# permissions: 777
##
## Maximum size of the HTTP request line (in bytes).
## Increase this value if you encounter 414 errors when using URLs with long
## query parameters (e.g., very long continuation tokens).
##
## Note: This directly sets the HTTP server's max_request_line_size.
## Be cautious when increasing this value on public instances.
##
## Accepted values: integer (size in bytes)
## Default: 8192 (8KB, Crystal's default)
## Recommended: 16384 (16KB) if experiencing 414 errors
##
#max_request_line_size: 16384
# -----------------------------
# Network (outbound)