A supplementary question.
Where is decided which buffer will be used for data_generator
function? I have tried to set up block_size to 80 or 128 or 256 or
1024 and the data_generator function was always called with a buffer
from mem pool, size about 32KB.
M.V.
On Sat, Aug 25, 2012 at 10:37 AM, Martin Velek<address@hidden> wrote:
Hello,
may I ask you, how to correctly implement SSI
(http://en.wikipedia.org/wiki/Server_Side_Includes) pages into
libmicrohttpd?
E.g. I have a page
#define PAGE "<html><head><title>libmicrohttpd demo</title>"\
"</head><body>Temeprature:<!--#exec cgi="temperature"
--></body></html>"
The SSI parser knows that he should call const * char
temperature(void) when the string<!--#exec cgi="temperature" --> is
found inside a html file. There is an issue, I cannot prepare the
whole reply in one buffer.
I have thought about using this function (taken from example)
response = MHD_create_response_from_callback (MHD_SIZE_UNKNOWN, xxx,
&data_generator, NULL, NULL);
And the data_generator, which contains SSI parser, will read from
given filename until<!--#exec cgi="temperature" --> is found and
replace it by the output of const * char temperature(void). If no data
left, it will return MHD_CONTENT_READER_END_OF_STREAM.
Is it a fancy solution? Or if there is a better way how to handle it,
I will appreciate your help.
Thank you
Martin Velek