Added chunk example

This commit is contained in:
Mathieu Carbou
2024-10-02 10:18:35 +02:00
parent a60e0cac73
commit 20a022b3f7

View File

@@ -307,6 +307,23 @@ void setup() {
request->send(LittleFS, "/index.html"); request->send(LittleFS, "/index.html");
}); });
/*
Chunked encoding test: sends 16k of characters.
curl -N -v -X GET -H "origin: http://192.168.4.1" http://192.168.4.1/chunk
*/
static const char characters[] = "1234567890";
static size_t charactersIndex = 0;
server.on("/chunk", HTTP_HEAD | HTTP_GET, [](AsyncWebServerRequest* request) {
AsyncWebServerResponse* response = request->beginChunkedResponse("text/html", [](uint8_t* buffer, size_t maxLen, size_t index) -> size_t {
if (index >= 16384)
return 0;
memset(buffer, characters[charactersIndex], maxLen);
charactersIndex = (charactersIndex + 1) % 10;
return maxLen;
});
request->send(response);
});
/* /*
curl -I -X HEAD http://192.168.4.1/download curl -I -X HEAD http://192.168.4.1/download
HTTP/1.1 200 OK HTTP/1.1 200 OK