X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst.pm;h=571f260664ce9e7cce20a2a424d8b06a4f01b205;hp=9f683bb76af05b947db198865fe34b19737c5f4f;hb=8738b8fecb20f3761d76a8d7f46660fdae54993a;hpb=ddcd2fc4728111853841078cc5d9a117b993ea96 diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index 9f683bb..571f260 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -50,13 +50,20 @@ has request => ( is => 'rw', default => sub { my $self = shift; - my %p; + my %p = ( _log => $self->log ); $p{_uploadtmp} = $self->_uploadtmp if $self->_has_uploadtmp; $self->request_class->new(\%p); }, lazy => 1, ); -has response => (is => 'rw', default => sub { $_[0]->response_class->new({}) }, required => 1, lazy => 1); +has response => ( + is => 'rw', + default => sub { + my $self = shift; + $self->response_class->new({ _log => $self->log }); + }, + lazy => 1, +); has namespace => (is => 'rw'); sub depth { scalar @{ shift->stack || [] }; } @@ -2008,10 +2015,6 @@ sub prepare { my $uploadtmp = $class->config->{uploadtmp}; my $c = $class->context_class->new({ $uploadtmp ? (_uploadtmp => $uploadtmp) : ()}); - # For on-demand data - $c->request->_context($c); - $c->response->_context($c); - #surely this is not the most efficient way to do things... $c->stats($class->stats_class->new)->enable($c->use_stats); if ( $c->debug || $c->config->{enable_catalyst_header} ) { @@ -2973,10 +2976,7 @@ your output data, if known. sub write { my $c = shift; - # Finalize headers if someone manually writes output - $c->finalize_headers; - - return $c->engine->write( $c, @_ ); + return $c->response->write( @_ ); } =head2 version