use strict;
use base 'Catalyst::Engine::CGI';
+use HTTP::Status ();
+
=head1 NAME
Catalyst::Engine::CGI::NPH - Catalyst CGI Engine
=head1 SYNOPSIS
-See L<Catalyst>.
+A script using the Catalyst::Engine::CGI::NPH module might look like:
+
+ #!/usr/bin/perl -w
+
+ BEGIN {
+ $ENV{CATALYST_ENGINE} = 'CGI::NPH';
+ }
+
+ use strict;
+ use lib '/path/to/MyApp/lib';
+ use MyApp;
+
+ MyApp->run;
=head1 DESCRIPTION
sub finalize_headers {
my $c = shift;
- my %headers = ( -nph => 1 );
- $headers{-status} = $c->response->status if $c->response->status;
- for my $name ( $c->response->headers->header_field_names ) {
- $headers{"-$name"} = $c->response->headers->header($name);
- }
- my @cookies;
- while ( my ( $name, $cookie ) = each %{ $c->response->cookies } ) {
- push @cookies, $c->cgi->cookie(
- -name => $name,
- -value => $cookie->{value},
- -expires => $cookie->{expires},
- -domain => $cookie->{domain},
- -path => $cookie->{path},
- -secure => $cookie->{secure} || 0
- );
- }
- $headers{-cookie} = \@cookies if @cookies;
- print $c->cgi->header(%headers);
+
+ my $protocol = $ENV{SERVER_PROTOCOL} || 'HTTP/1.0';
+ my $status = $c->response->status || 200;
+ my $message = HTTP::Status::status_message($status);
+
+ printf( "%s %d %s\015\012", $protocol, $status, $message );
+
+ $c->SUPER::finalize_headers;
}
=back