X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FEngine%2FHTTP.pm;h=0d734567e2fd471a512c4e16b16f18a42076a56f;hb=c462faf09f20b2fca60bb9c63bf30b158760aa2c;hp=93327459cd9e9b6341c3c13d9abc1f1a23956fef;hpb=1a80619d839bc8dd6321648d8140a795bf85025e;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Engine/HTTP.pm b/lib/Catalyst/Engine/HTTP.pm index 9332745..0d73456 100644 --- a/lib/Catalyst/Engine/HTTP.pm +++ b/lib/Catalyst/Engine/HTTP.pm @@ -3,7 +3,7 @@ package Catalyst::Engine::HTTP; use strict; use base 'Catalyst::Engine::Test'; -use IO::Socket qw(AF_INET SOCK_STREAM SOMAXCONN); +use IO::Socket qw(AF_INET INADDR_ANY SOCK_STREAM SOMAXCONN); =head1 NAME @@ -65,22 +65,18 @@ sub run { while ( my $request = $connection->get_request ) { $request->uri->scheme('http'); # Force URI::http - $request->uri->host( $base->host ); + $request->uri->host( $request->header('Host') || $base->host ); $request->uri->port( $base->port ); - my $lwp = Catalyst::Engine::Test::LWP->new( + my $http = Catalyst::Engine::Test::HTTP->new( address => $connection->peerhost, hostname => gethostbyaddr( $connection->peeraddr, AF_INET ), request => $request, response => HTTP::Response->new ); - $class->handler($lwp); - $connection->send_response( $lwp->response ); - - if ( $class->debug ) { - $class->log->info( sprintf( "Peer %s:%d",$connection->peerhost, $connection->peerport ) ); - } + $class->handler($http); + $connection->send_response( $http->response ); }