Basic chunk encoding test, draft of an example using the stream API with blocking sockets
This commit is contained in:
+39
-1
@@ -2,5 +2,43 @@
|
||||
|
||||
void test_chunking(void)
|
||||
{
|
||||
// TODO
|
||||
{
|
||||
TinyHTTPStream stream;
|
||||
|
||||
TEST_START
|
||||
tinyhttp_stream_init(&stream, memfunc, NULL);
|
||||
|
||||
// Send request
|
||||
send_request(&stream,
|
||||
"POST / HTTP/1.1\r\n"
|
||||
"Host: 127.0.0.1:8080\r\n"
|
||||
"User-Agent: curl/7.81.0\r\n"
|
||||
"Accept: */*\r\n"
|
||||
"Transfer-Encoding: Chunked\r\n"
|
||||
"Content-Type: application/x-www-form-urlencoded\r\n"
|
||||
"\r\n"
|
||||
"d\r\n"
|
||||
"Hello, world!\r\n"
|
||||
"0\r\n"
|
||||
"\r\n"
|
||||
);
|
||||
|
||||
// Build response
|
||||
tinyhttp_stream_response_status(&stream, 200);
|
||||
tinyhttp_stream_response_send(&stream);
|
||||
|
||||
// Receive response
|
||||
char buf[1<<12];
|
||||
Response res;
|
||||
recv_response(&stream, &res, buf, sizeof(buf));
|
||||
|
||||
// We expect the status line:
|
||||
// HTTP/1.1 200 OK
|
||||
TEST(res.minor == 1);
|
||||
TEST(res.status_code == 200);
|
||||
TEST(tinyhttp_streq(res.status_text, TINYHTTP_STRING("OK")));
|
||||
|
||||
tinyhttp_stream_free(&stream);
|
||||
TEST_END
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user