Hi.
I use FreeRTOSv202212.00 and I found a bug when tried to make GET request (sorry, I can not post links).
After receiving all chunks and parsing all received data, I have:
<!DOCTYPE html>
<html lang=en>
<head>
<meta charset='utf-8'>
<title>Chunked transfer encoding test</title>
</head>
<body><h1>Chunked transfer encoding test</h1><h5>This is a chunked response after 100 ms.</h5><h5>This is a chunked response after 1 second. The server should not close the stream before all chunks are sent to a client.</h5></body></html>e
</body></html>
0
Please, make attention for 3 last strings:
…html>e (0x0e is size of last chunk)
…/html>
0 (0x00 is end of received data: let me call it “zero chunk”).
So, there is the issue with parsing very short chunks (with length less then 0x10).
I think, that bug located here:
file:
FreeRTOS-Plus\Source\Application-Protocols\coreHTTP\source\dependency\3rdparty\llhttp\src\llhttp.c
function:
static llparse_state_t llhttp__internal__run(
llhttp__internal_t* state,
const unsigned char* p,
const unsigned char* endp);