http://qs321.pair.com?node_id=216349


in reply to Direct access to client socket in CGI/mod_perl?

It's been my experience that the POST data to Apache mod_cgi-based programs is delivered "live" and not buffered. (As an aside, that's why you can't rely on reading "content-length" number of bytes, because that's only what the browser suggested it was going to send.)

However, I have to ask the next question: how will your CGI know when the data is actually finished then?

Also, if there are any proxies in between, all bets are off.

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.

Replies are listed 'Best First'.
Re: •Re: Direct access to client socket in CGI/mod_perl?
by Anonymous Monk on Nov 28, 2002 at 21:43 UTC
    that prob would make pipelined requests kinda difficult. :) would it be better to allow the client to do some sort of client-pull operation, ie, send some sort of meta refresh response to the client, allowing them to poll the server for updates?
Re: •Re: Direct access to client socket in CGI/mod_perl?
by eduardo (Curate) on Nov 29, 2002 at 17:29 UTC

    See... having you tell me was exactly what I needed... because I was 99.9% certain that long ago, when I wrote CGI for the first time (before I was sucked into the world of Java app servers and crap like that), POST data arrived as soon as Apache got ahold of it. But, here I was, with my newly installed Redhat Linux 8.0 box... and I'll be damned if that didn't work!

    It would appear, and I don't actually have any documentation to back this up, but the stock Redhat 8 Apache 2.0.40 with it's bundled mod_cgi is somehow "broken." I am making this bold statement due to the fact that on other boxes where I am either using older Apaches, or even similar apaches which *I* compiled, the behavior was as expected. So, thank you!