use NEXT;
use URI;
+__PACKAGE__->mk_accessors( 'env' );
+
=head1 NAME
Catalyst::Engine::CGI - The CGI Engine
sub prepare_connection {
my ( $self, $c ) = @_;
+ local(*ENV) = $self->env || \%ENV;
$c->request->address( $ENV{REMOTE_ADDR} );
sub prepare_headers {
my ( $self, $c ) = @_;
+ local(*ENV) = $self->env || \%ENV;
# Read headers from %ENV
while ( my ( $header, $value ) = each %ENV ) {
sub prepare_path {
my ( $self, $c ) = @_;
+ local(*ENV) = $self->env || \%ENV;
my $scheme = $c->request->secure ? 'https' : 'http';
my $host = $ENV{HTTP_HOST} || $ENV{SERVER_NAME};
sub prepare_query_parameters {
my ( $self, $c ) = @_;
+ local(*ENV) = $self->env || \%ENV;
if ( $ENV{QUERY_STRING} ) {
$self->SUPER::prepare_query_parameters( $c, $ENV{QUERY_STRING} );
}
}
+=item $self->prepare_request($c, (env => \%env))
+
+=cut
+
+sub prepare_request {
+ my ( $self, $c, %args ) = @_;
+
+ if ( $args{env} ) {
+ $self->env( $args{env} );
+ }
+}
+
=item $self->prepare_write($c)
Enable autoflush on the output handle for CGI-based engines.