On Fri, Apr 12, 2002 at 02:22:03PM -0700, Ryan Bloom wrote: > In your code above, there was no 100 Continue sent to the client. It > also doesn't solve the problem for anybody who is using the > ap_.*client_block API, as most modules do. Don't tell me that you can > just send the 100 message yourself. That is a hack.
Fair enough, you could add the 100-Continue logic to ap_http_filter. That seems a good enough place for it. It wouldn't get called until you are ready to read the body and that filter is supposed to handle all of the HTTP protocol logic anyway. > Part of what we owe our module authors is a clean API that makes writing > an Apache module easy. The ap_.*client_block functions are easy to use, > and they can solve the problem easily. More than that, they are what > people are used to using from Apache 1.3. No, you are trying to hide the real interface with this old API. 2.0 is a new world order. By hiding the real interface, you are allowing errors and other issues to be silently or improperly ignored. This is the real problem here - the CGI module has no way of knowing whether the socket was disconnected or a Limit was hit. And, the ap_*client_block API doesn't provide any way to let errors propogate. -- justin
