- $r->{ar}->content_type( $r->{content_type} );
- $r->{ar}->headers_out->set( "Content-Length" => length $r->{output} );
- $r->{ar}->send_http_header;
+ $r->{ar}->content_type(
+ $r->{content_type} =~ m/^text/
+ ? $r->{content_type} . "; charset=" . $r->{document_encoding}
+ : $r->{content_type}
+ );
+ $r->{ar}->headers_out->set(
+ "Content-Length" => do { use bytes; length $r->{output} }
+ );
+ foreach my $header (keys %{$r->{extra_headers}}) {
+ $r->{ar}->headers_out->set(
+ "$header" => $r->{extra_headers}{$header}
+ );
+ }
+ APACHE2 || $r->{ar}->send_http_header;