On 2013-01-17 03:59, Dhiren123 wrote:
   Samething i put HTML page(GET method) in /www folder  and through my apache
module i communicate with browser successfully.
    But when i connect to apache module through POST method  ,that action
page is not found by the server.
Actually what happens i donot know or where i make the mistakes .Anybody
suggest me....


I think there are two methods for getting the POST data, I don't know which one is the "correct" one.

1. You write an input filter. (Check the appropriate documentation how to write input filters.) You either add it with ap_add_input_filter or you use the SetInputFilter directive of the core module. Then the input filter executes ap_get_brigade. The "brigade" is a linked list of "buckets", i.e. some data holders. You loop through the linked list of buckets until you get an EOS bucket (EOS = end-of-stream). Note that the brigade that you got may not contain the entire POST data. In this case the brigade does not have an EOS bucket and the filter will be called several times by apache. In any case the filter might be called several times, so write your code accordingly. (I think this is explained in the filter tutorial. See the apr_buckets.h header also.)

2. You write a loop in which you call ap_get_client_block. I am not sure about the stopping criterion of the loop. You could count the size of the data that you read and compare it with Content-Length but this does not work in the rare cases in which the POST data is compressed. I don't know much about this method, but you can lookup documentation on ap_get_client_block.

I hope this helps.

Sorin


Reply via email to