about CgiEnvironment and POSTDATA when using multiplexed FastCgi
Andrey Vul <[email protected]> Tue, 21 Dec 2010 04:58:20 -0500
| Newsgroups | gmane.comp.gcc.cgicc.general |
|---|---|
| Message-ID | <[email protected]> |
In the CgiEnvironment constructor, it looks like it attempts to read all of stdin. FastCgi, however, chunks the stdin packets. 1) Is the read function, as defined in a subclass bridging a multiplexing FastCgi with Cgicc, supposed to block until there everything can be read, as done in the official FastCgi SDK's FCGX_GetStr(FCGX_Stream*, char*, int)? Or use EAGAIN / exceptions and wrap input->read in a for(;;)? I'm using another FastCgi class because the fact that I'm threading the processing means that multiplexing is the way to go to unleash the performance of parallelism, and FCGX_* is not multiplexing-safe. Note: the FastCgi instance class basically calls std::string::append(input_buffer.end(), stdin_data, stdin_len). 2) Is there an ability to limit the size of POSTDATA by using a function hook? The non-virtuality of CgiEnvironment implies that implementing this would require patch && make && sudo make install. Note: I am not on the mailinglist. CC me when needed.