X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FEngine%2FTest.pm;h=5dd0523100e50ec867ffd4afdda054eb7e8fc352;hp=8173bdef41643381f325b4029dc4d4e5f0af7987;hb=41ca9ba7190b75d9ee3adebf37188309cad986a4;hpb=10bdcbe8078d0136e2bc53f47ea1f63e36c947a8 diff --git a/lib/Catalyst/Engine/Test.pm b/lib/Catalyst/Engine/Test.pm index 8173bde..5dd0523 100644 --- a/lib/Catalyst/Engine/Test.pm +++ b/lib/Catalyst/Engine/Test.pm @@ -2,7 +2,7 @@ package Catalyst::Engine::Test; use strict; use base 'Catalyst::Engine::CGI'; -use Catalyst::Utils; +use HTTP::Request; use HTTP::Response; use HTTP::Status; use NEXT; @@ -58,7 +58,18 @@ sub finalize_headers { sub run { my ( $self, $class, $request ) = @_; - $request = Catalyst::Utils::request($request); + # Construct request + unless ( ref $request ) { + if ( $request =~ m/http/i ) { + $request = URI->new($request)->canonical; + } + else { + $request = URI->new( 'http://localhost' . $request )->canonical; + } + } + unless ( ref $request eq 'HTTP::Request' ) { + $request = HTTP::Request->new( 'GET', $request ); + } $request->header( 'Host' => sprintf( '%s:%d', $request->uri->host, $request->uri->port )