Problem
The HTTP library part "Message Generator" is implemented suboptimal regarding microcontroller memory management.
HTTP Implementation
The Arduino web-server port (HTTP GET) will not include a filesystem (little-fs or similar) in the first place, hex-coded c-includes will be generated and directly included into the source-code.
Problem Detail
When operating on large file-data (>10K) the current implementation in the HTTPGenerator class will kill the heap beacuse it appends (C++ string) the whole file data into memory.
Problem Resolution
The HTTPGenerator class must operate with an internal char* buffer for the HTTP headers and external char* pointer / size handling for (already static const in memory existing file data) the HTTP payload.
Problem
The HTTP library part "Message Generator" is implemented suboptimal regarding microcontroller memory management.
HTTP Implementation
The Arduino web-server port (HTTP GET) will not include a filesystem (little-fs or similar) in the first place, hex-coded c-includes will be generated and directly included into the source-code.
Problem Detail
When operating on large file-data (>10K) the current implementation in the
HTTPGeneratorclass will kill the heap beacuse it appends (C++string) the whole file data into memory.Problem Resolution
The HTTPGenerator class must operate with an internal char* buffer for the HTTP headers and external char* pointer / size handling for (already
static constin memory existing file data) the HTTP payload.