mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-09-27 04:09:31 +03:00
Updated chunked_example.c
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
Tue Jul 23 11:32:00 MSK 2017
|
||||
Updated chunked_example.c to provide real illustration of usage of
|
||||
chunked encoding. -EG
|
||||
|
||||
Thu Jul 13 21:41:00 MSK 2017
|
||||
Restored SIGPIPE suppression in TLS mode.
|
||||
Added new value MHD_FEATURE_AUTOSUPPRESS_SIGPIPE so application could
|
||||
|
||||
@@ -30,9 +30,27 @@ static ssize_t
|
||||
callback (void *cls,
|
||||
uint64_t pos,
|
||||
char *buf,
|
||||
size_t max)
|
||||
size_t buf_size)
|
||||
{
|
||||
return MHD_CONTENT_READER_END_OF_STREAM;
|
||||
static const char response_data[] = "<html><head><title>Simple response</title></head>" \
|
||||
"<body>Simple response text</body></html>";
|
||||
static const uint64_t response_size = (sizeof(response_data)/sizeof(char)) - 1;
|
||||
size_t size_to_copy;
|
||||
|
||||
/* Note: 'pos' will never exceed size of transmitted data. */
|
||||
/* You can use 'pos == response_size' in next check. */
|
||||
if (pos >= response_size)
|
||||
{ /* Whole response was sent. Signal end of response. */
|
||||
return MHD_CONTENT_READER_END_OF_STREAM;
|
||||
}
|
||||
|
||||
if (buf_size < (response_size - pos) )
|
||||
size_to_copy = buf_size;
|
||||
else
|
||||
size_to_copy = response_size - pos;
|
||||
|
||||
memcpy (buf, response_data + pos, size_to_copy);
|
||||
return size_to_copy;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user