X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst.pm;h=8949d178cbe097b655c305cb449d8b0794bb82ba;hp=58c05050fb87ae16f8b156116f80bdd3b9d34b3a;hb=30156c599c664a8118f8d337c36fa026fe53e063;hpb=3a4abdb3dd1fc51d2132d149f7f4757853312eed diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index 58c0505..8949d17 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -78,10 +78,7 @@ __PACKAGE__->stats_class('Catalyst::Stats'); # Remember to update this in Catalyst::Runtime as well! -our $VERSION = '5.80021'; -our $PRETTY_VERSION = $VERSION; - -$VERSION = eval $VERSION; +our $VERSION = '5.80022'; sub import { my ( $class, @arguments ) = @_; @@ -1162,7 +1159,7 @@ EOF if ( $class->debug ) { my $name = $class->config->{name} || 'Application'; - $class->log->info("$name powered by Catalyst $Catalyst::PRETTY_VERSION"); + $class->log->info("$name powered by Catalyst $Catalyst::VERSION"); } # Make sure that the application class becomes immutable at this point, @@ -2145,7 +2142,26 @@ sub log_request { =head2 $c->log_response -Writes information about the response to the debug logs. This includes: +Writes information about the response to the debug logs by calling +C<< $c->log_response_status_line >> and C<< $c->log_response_headers >>. + +=cut + +sub log_response { + my $c = shift; + + return unless $c->debug; + + my($dump) = grep {$_->[0] eq 'Response' } $c->dump_these; + my $response = $dump->[1]; + + $c->log_response_status_line($response); + $c->log_response_headers($response->headers); +} + +=head2 $c->log_response_status_line($response) + +Writes one line of information about the response to the debug logs. This includes: =over 4 @@ -2159,13 +2175,8 @@ Writes information about the response to the debug logs. This includes: =cut -sub log_response { - my $c = shift; - - return unless $c->debug; - - my($dump) = grep {$_->[0] eq 'Response' } $c->dump_these; - my $response = $dump->[1]; +sub log_response_status_line { + my ($c, $response) = @_; $c->log->debug( sprintf( @@ -2177,6 +2188,15 @@ sub log_response { ); } +=head2 $c->log_response_headers($headers); + +Hook method which can be wrapped by plugins to log the responseheaders. +No-op in the default implementation. + +=cut + +sub log_response_headers {} + =head2 $c->log_request_parameters( query => {}, body => {} ) Logs request parameters to debug logs @@ -2255,7 +2275,8 @@ sub log_headers { return unless $c->debug; - my $t = Text::SimpleTable->new( [ 35, 'Header Name' ], [ 40, 'Value' ] ); + my $column_width = Catalyst::Utils::term_width() - 28; + my $t = Text::SimpleTable->new( [ 15, 'Header Name' ], [ $column_width, 'Value' ] ); $headers->scan( sub { my ( $name, $value ) = @_;