Skip to content

Implement file streaming for large files #68

@gitnes94

Description

@gitnes94

Currently, StaticFileHandler uses Files.readAllBytes() to load entire files into memory before sending them to clients. This causes severe memory issues with large files.

Proposed Solution
Implement streaming with a buffered approach for files exceeding a threshold (e.g., 1MB):
For small files (< 1MB): Continue using readAllBytes() (fast, simple)
For large files (≥ 1MB): Stream directly to OutputStream using 8KB buffer

Files to Modify

src/main/java/org/example/StaticFileHandler.java
src/test/java/org/example/StaticFileHandlerTest.java (add streaming tests)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions