package Catalyst::Response;
+use Class::C3;
use Moose;
+use HTTP::Headers;
-has cookies => (is => 'rw');
-has body => (is => 'rw');
+has cookies => (is => 'rw', default => sub { {} });
+has body => (is => 'rw', default => '');
has location => (is => 'rw');
-has status => (is => 'rw');
+has status => (is => 'rw', default => 200);
+has finalized_headers => (is => 'rw', default => 0);
has headers => (
is => 'rw',
handles => [qw(content_encoding content_length content_type header)],
+ default => sub { HTTP::Headers->new() },
+ required => 1,
+ lazy => 1,
);
-
has _context => (
is => 'rw',
weak_ref => 1,
+ handles => ['write'],
);
sub output { shift->body(@_) }
parameters of the same name, except they are used without a leading dash.
Possible parameters are:
-=over
+=over
=item value
Sets or returns the HTTP status.
$c->response->status(404);
-
+
=head2 $res->write( $data )
Writes $data to the output stream.
-=cut
-
-sub write { shift->_context->write(@_); }
-
=head2 meta
Provided by Moose
=head1 COPYRIGHT
-This program is free software, you can redistribute it and/or modify
+This program is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut