=cut
-sub prepare_body {
+sub prepare_body {
shift->Catalyst::Engine::CGI::prepare_body(@_);
}
=cut
-sub prepare_parameters {
+sub prepare_parameters {
shift->Catalyst::Engine::CGI::prepare_parameters(@_);
}
sub prepare_request {
my ( $c, $r, @arguments ) = @_;
-
- $ENV{CONTENT_TYPE} = $r->header_in("Content-Type");
- $ENV{CONTENT_LENGTH} = $r->header_in("Content-Length");
- $ENV{QUERY_STRING} = $r->args;
- $ENV{REQUEST_METHOD} = $r->method;
+
+ unless ( $ENV{REQUEST_METHOD} ) {
+
+ $ENV{CONTENT_TYPE} = $r->header_in("Content-Type");
+ $ENV{CONTENT_LENGTH} = $r->header_in("Content-Length");
+ $ENV{QUERY_STRING} = $r->args;
+ $ENV{REQUEST_METHOD} = $r->method;
+
+ my $cleanup = sub {
+ delete( $ENV{$_} ) for qw( CONTENT_TYPE
+ CONTENT_LENGTH
+ QUERY_STRING
+ REQUEST_METHOD );
+ };
+
+ $r->register_cleanup($cleanup);
+ }
$c->SUPER::prepare_request($r);
$c->Catalyst::Engine::CGI::prepare_request( $r, @arguments );
=cut
-sub prepare_uploads {
+sub prepare_uploads {
shift->Catalyst::Engine::CGI::prepare_uploads(@_);
}