Apache-HeavyCGI
view release on metacpan or search on metacpan
lib/Apache/HeavyCGI/SquidRemoteAddr.pm view on Meta::CPAN
package Apache::HeavyCGI::SquidRemoteAddr;
use Apache::Constants qw(:common);
use constant SRA_DEBUG => 0;
use strict;
use vars qw($VERSION $NoHeader_warned);
$VERSION = sprintf "%d.%03d", q$Revision: 1.5 $ =~ /(\d+)\.(\d+)/;
sub handler {
my $r = shift;
my $xff = $r->header_in('X-Forwarded-For')||"";
if (my($ip) = $xff =~ /([^,\s]+)$/) {
$r->connection->remote_ip($ip);
} else {
warn sprintf "No IP in X-Forwarded-For[%s]", $xff
unless $NoHeader_warned++;
}
warn sprintf "HERE Headers[%s]", join " ", $r->headers_in if SRA_DEBUG;
DECLINED;
}
1;
__END__
=head1 NAME
Apache::HeavyCGI::SquidRemoteAddr - Pass X-Forwarded-For Header through as remote_ip
=head1 SYNOPSIS
PerlPostReadRequestHandler Apache::HeavyCGI::SquidRemoteAddr
=head1 DESCRIPTION
Author Vivek Khera, taken from his mod_perl_tuning document.
=cut
( run in 2.409 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )