X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FResponse.pm;h=595decb4cbdb06836ed53c90f32041aa4fd040d0;hp=a6328d58686b49361a026ae02527732db29b3aee;hb=2bf074abee817f84daec2a06822f9dcdb881843f;hpb=b0ad47c12a21862b08d8e2942095065ac2f7edf2 diff --git a/lib/Catalyst/Response.pm b/lib/Catalyst/Response.pm index a6328d5..595decb 100644 --- a/lib/Catalyst/Response.pm +++ b/lib/Catalyst/Response.pm @@ -6,7 +6,14 @@ use HTTP::Headers; with 'MooseX::Emulate::Class::Accessor::Fast'; has cookies => (is => 'rw', default => sub { {} }); -has body => (is => 'rw', default => '', lazy => 1, predicate => 'has_body'); +has body => (is => 'rw', default => '', lazy => 1, predicate => 'has_body', + clearer => '_clear_body' +); +after 'body' => sub { # If someone assigned undef, clear the body so we get '' + if (scalar(@_) == 2 && !defined($_[1])) { + $_[0]->_clear_body; + } +}; has location => (is => 'rw'); has status => (is => 'rw', default => 200); has finalized_headers => (is => 'rw', default => 0);