use HTTP::Proxy;
use HTTP::Proxy::HeaderFilter::simple;
use Fcntl ':flock';
use strict;
my $file = shift || '-';
open OUT, ">> $file" or die "Can't open $file: $!";
my $proxy = HTTP::Proxy->new( @ARGV ); $proxy->push_filter(
response => HTTP::Proxy::HeaderFilter::simple->new(
sub {
my ( $self, $headers, $message ) = @_;
flock( OUT, LOCK_EX );
print OUT join( " ",
$message->request->headers->header( 'Referer' ) || 'NULL',
$message->request->uri,
$message->code ), $/;
flock( OUT, LOCK_UN );
}
)
);
$proxy->start;
END { close OUT; }