#!/usr/bin/perl -w
#
#


use strict;
use warnings;


format STDOUT_TOP =


URL Base: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
          $base
  Server: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
          $server

                     -------------- Elapsed Seconds ------------   Page    Est.
                                                                   Size    Time
Page             S R Connect +    Send +   Appl +   Recv = Total   (kB)    28.8
-------------------------------------------------------------------------------
.

format STDOUT = 
@<<<<<<<<<<<<<<  @ @ @##.###   @##.###  @##.###  @##.### @##.### @###.# @####.#
$name,         $svr, $redir, $con_tm, $snd_tm, $svr_tm, $rcv_tm, $tot_tm,   $length/1000, $rcv_rate
.

# replace formfeed (\f) with several linefeeds
$^L = "\n\n\n\n";


	
$- = 0; # reset stdout to top-of-page


###
### put your code here to retrieve the page with LWP::Useragent or WWW::Mechanize
### after checking return codes, call write_output, passing it the response.
###

sub write_output {
	
	my ($response) = @_;
	
	if ( $response->previous() ) {
		write_output($response->previous());
		$redir = 'R';
	}

	$length = length($response->content);
	$server = $response->headers->server();

	$con_tm  = $response->header('X-Request-Connect-Time'); 
	$response->remove_header('X-Request-Connect-Time');
	$snd_tm  = $response->header('X-Request-Transmit-Time'); 
	$response->remove_header('X-Request-Transmit-Time');
	$svr_tm = $response->header('X-Response-Server-Time'); 
	$response->remove_header('X-Response-Server-Time'); 
	$rcv_tm  = $response->header('X-Response-Receive-Time');
	$response->remove_header('X-Response-Receive-Time');

	$tot_tm = $con_tm + $snd_tm + $svr_tm + $rcv_tm;
	
	$rcv_rate = ($length*8)/($kbps*1000) + $con_tm + $snd_tm + $svr_tm;	

	write STDOUT;
	
	$redir = '';
}	
