-
Notifications
You must be signed in to change notification settings - Fork 7.7k
feat(webserver): add support for chunked HTTP responses Fixes #5080 #11894
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(webserver): add support for chunked HTTP responses Fixes #5080 #11894
Conversation
👋 Hello ritesh006, we appreciate your contribution to this project! 📘 Please review the project's Contributions Guide for key guidelines on code, documentation, testing, and more. 🖊️ Please also make sure you have read and signed the Contributor License Agreement for this project. Click to see more instructions ...
Review and merge process you can expect ...
|
} | ||
|
||
void WebServer::sendChunk(const char* data, size_t length) { | ||
if (!_chunkedResponseActive) return; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
log_e that chunk response has not been started
Please also add a small example to showcase the usage |
c1a5c63
to
bf6aed6
Compare
to WebServer library for chunked HTTP responses
bf6aed6
to
f4f8762
Compare
Ready for Review |
Test Results 76 files 76 suites 13m 52s ⏱️ Results for commit dfaa04b. ♻️ This comment has been updated with latest results. |
Memory usage test (comparing PR against master branch)The table below shows the summary of memory usage change (decrease - increase) in bytes and percentage for each target.
Click to expand the detailed deltas report [usage change in BYTES]
|
Hi @me-no-dev May I please know when this commit is planned to be merged? |
@ritesh006 let's give a chance for others to review as well. It will be part of next release |
Yes thank so much |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All good! Thanks @ritesh006 for the PR!
$ curl -i esp32_chunk_resp.local:80
HTTP/1.1 200 OK
Content-Type: text/plain
Accept-Ranges: none
Transfer-Encoding: chunked
Connection: close
10...
9...
8...
7...
6...
5...
4...
3...
2...
1...
DONE!
This example demonstrates how to send an HTTP response using chunks with an ESP32 server. It includes setup for WiFi, MDNS, and handles HTTP requests with chunked responses.
Thank You @SuGlider |
@lucasssvaz PTAL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Enhance the ESP32 WebServer library by introducing native support for chunked transfer encoding. This allows streaming large or dynamic content efficiently, improving scalability and performance. Adds three main methods: chunkedResponseModeStart(), sendChunk(), and chunkedResponseFinalize() for easy, reliable implementation of chunked responses
Fixes #5080