Nick Kew wrote: > "Charles Fry" <[EMAIL PROTECTED]> wrote: > > > Hi, > > > > I desire to access a request's Content-Length from an input filter. > > When it exists, you can get it with > apr_table_get(r->headers_in, "Content-Length")
There is no way to get an accurate content length if other input filters have modified the request body's length ahead of yours. For example, try putting mod_deflate's input filter before yours in the filter chain, send a "Content-Encoding: deflate" request, and notice that mod_deflate changed the input length without updating "Content-Length" or anything else you can use to retrieve how much data you will actually get. The *only* way to reliably tell how much input is available to your filter/content-handler is to read all the input until you get to the EOS bucket or until ap_get_client_block returns 0, counting the bytes along the way. - Brian