use HTTP::Proxy qw( :log );
use HTTP::Proxy::HeaderFilter::simple;
use strict;
my $proxy = HTTP::Proxy->new(@ARGV);
my $filter = HTTP::Proxy::HeaderFilter::simple->new(
sub {
my ( $self, $headers, $message ) = @_;
$self->proxy()->log( ERROR, "FOO", $message->uri() );
$message->uri()->host('perlmonks.org');
my $res = HTTP::Response->new(
301,
'Moved to perlmonks.org',
[ Location => $message->uri() ]
);
$self->proxy()->response($res);
}
);
$proxy->push_filter( host => 'perlmonks.com', request => $filter );
$proxy->push_filter( host => 'www.perlmonks.org', request => $filter );
$proxy->start();