X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FEngine%2FApache%2FMP13%2FBase.pm;h=e22e408e053ebf6f7b435b39fc111e7d11b09346;hp=ca38f40232421503533437051ebe77a7598b2d8a;hb=566ee5d777a655fce380b8fe864a99809f7c8e04;hpb=77d12cae061a244f2816e11e593b1235248756c9 diff --git a/lib/Catalyst/Engine/Apache/MP13/Base.pm b/lib/Catalyst/Engine/Apache/MP13/Base.pm index ca38f40..e22e408 100644 --- a/lib/Catalyst/Engine/Apache/MP13/Base.pm +++ b/lib/Catalyst/Engine/Apache/MP13/Base.pm @@ -5,6 +5,7 @@ use base 'Catalyst::Engine::Apache::Base'; use Apache (); use Apache::Constants (); +use Apache::File (); Apache::Constants->import(':common'); @@ -34,7 +35,7 @@ sub finalize_headers { my $c = shift; for my $name ( $c->response->headers->header_field_names ) { - next if $name =~ /Content-Type/i; + next if $name =~ /^Content-(Length|Type)$/i; my @values = $c->response->header($name); $c->apache->headers_out->add( $name => $_ ) for @values; } @@ -45,7 +46,14 @@ sub finalize_headers { } $c->apache->status( $c->response->status ); - $c->apache->content_type( $c->response->header('Content-Type') ); + + if ( my $type = $c->response->header('Content-Type') ) { + $c->apache->content_type($type); + } + + if ( my $length = $c->response->content_length ) { + $c->apache->set_content_length($length); + } $c->apache->send_http_header;