package Apache2::ModProxyHIP; use strict; use warnings; use base qw(Apache2::Filter); use Apache2::Connection (); use Apache2::RequestUtil; use Apache2::RequestRec; use APR::Table; use base qw(Apache2::Filter); use Apache2::Const -compile => qw(OK); use constant BUFF_LEN => 1024; sub handler { my $f = shift; my $leftover = $f->ctx; while ($f->read(my $buffer, BUFF_LEN)) { $buffer = $leftover . $buffer if defined $leftover; $leftover = undef; while ($buffer =~ /([^\r\n]*)([\r\n]*)/g) { $leftover = $1, last unless $2; $f->print( check(scalar($1) ), $2); } } if ($f->seen_eos) { $f->print( check(scalar($leftover) )) if defined $leftover; } else { $f->ctx($leftover) if defined $leftover; } return Apache2::Const::OK; } sub check { my $str = shift; $str =~ s|127.0.0.1%3A81|webcat.hud.ac.uk|g; $str =~ s|127.0.0.1:81|webcat.hud.ac.uk|g; return($str); } 1;