Apache-HeavyCGI

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

MANIFEST			        This file
Makefile.PL			        creates the Makefile
README
lib/Apache/HeavyCGI.pm		        Defines framework
lib/Apache/HeavyCGI/Date.pm	        Handles dates
lib/Apache/HeavyCGI/Debug.pm	        Debugging
lib/Apache/HeavyCGI/Exception.pm	Exception handling
lib/Apache/HeavyCGI/ExePlan.pm	        Execution plan
lib/Apache/HeavyCGI/IfModified.pm	If-Modified-Since
lib/Apache/HeavyCGI/Layout.pm	        Array-Utilities
lib/Apache/HeavyCGI/SquidRemoteAddr.pm	X-Forwarded-For to remote_ip
lib/Apache/HeavyCGI/UnmaskQuery.pm	Semicolon instead of question mark
t/pod.t
META.yml                                 Module meta-data (added by MakeMaker)

lib/Apache/HeavyCGI/SquidRemoteAddr.pm  view on Meta::CPAN

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 0.288 second using v1.01-cache-2.11-cpan-26ccb49234f )