Title: Re: bytes_sent -> bytes_received?
At 7.25 PM +0100 10/7/2000, Matthew Byng-Maddick wrote:
On Sat, 7 Oct 2000, Drew Degentesh wrote:
> In addition to the number of bytes sent to the client, Id like to log how
> many bytes are sent *by* the client (the size of the request + posts , etc.)

Fair enough

> I was guessing/hoping that length( scalar( $r->content ) ) would do it, but
> earlier in my application (before the log phase) I use Apache::Request to
> (potentially) process a file upload, and Im guessing that clears out
> $r->content.

I'm not sure if it does or not. Anyhow, $r->content won't get you the full
request, plus all the headers. The best way to do this would be to put
your measuring code in as a URI Translation handler (with whatever method
works.... erm...) and then put the value in a notes field which you can
then recover later on in the processing.

> Any ideas?

Not very helpful, I'm afraid.

MBM

--
perl -e '$_=unpack"b196",pack"H50","cafa9c0e0abbdf7474590e8296e56c103a3c".
"5e97e52e104821";while(m(^.{7})){$a.=$&."0";$_=$'"'"'}print pack"b224",$a'

Well, if you need the length of the POST data, then you should be able (assuming the browser follows the RFCs) to get it from $r->header_in( 'Content-length' ).

If you need the length of the ENTIRE request, theoretically you could get it by adding together :
1) the above value
<CODE>my $headerlength = $r->header_in( 'Content-length' )</CODE>

2) the lengths of all the header lines
<CODE>
my $headers = $r->headers_in();
map { $headerlength += length($_) + length($headers->{$_}) + 2 }
        ##  +2 above for ': ' between the header key and value
        keys %$headers;
</CODE>

3) and the request line
<CODE>$headerlength += length( $r->the_request() )</CODE>

Did I miss anything?  Methinks this is the lot, but I'm just typing here -- I didn't test it. ;-)

Enjoy,
--
David Pisoni -- <[EMAIL PROTECTED]>
     Cnation -- <http://www.cnation.com/>
310/228-6900 -- 310/228-6905 (fax)

"One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man." -Elbert Hubbard, author, editor, printer (1856-1915)

Reply via email to