use strict;
use base 'Catalyst::Engine::CGI';
-use Catalyst::Utils;
+use HTTP::Request;
use HTTP::Response;
use HTTP::Status;
use NEXT;
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 )