chickadee » fastcgi » in

in #!optional INTprocedure

[This procedure is passed to the CALLBACK argument of fcgi-accept-loop.]

If called with no arguments, this procedure reads in as much data as possible from the input stream, returning #f if the stream is empty, and a string otherwise. If called with a single integer argument, it reads exactly the specified number of characters from the stream (and will block indefinitely if the stream is empty or contains too few characters).

In either case, an exception is raised if there is an error reading from the stream.

Don't use (in) to read in post data, since there is no guarantee that it will read all of it. Instead, call in with the value of the HTTP_CONTENT_LENGTH environment variable, or use the fcgi-get-post-data procedure.

The variable *fcgi-slurp-chunk-size* determines the size of the input buffer which will be allocated by a zero-argument call to in. The value of this variable does not affect the maximum amount of input which can be read in, since additional buffers are automatically allocated as necessary.