——package
Catalyst::Response;
use
strict;
__PACKAGE__->mk_accessors(
qw/cookies body headers location status/
);
*output
= \
&body
;
sub
content_encoding {
shift
->headers->content_encoding(
@_
) }
sub
content_length {
shift
->headers->content_length(
@_
) }
sub
content_type {
shift
->headers->content_type(
@_
) }
sub
header {
shift
->headers->header(
@_
) }
=head1 NAME
Catalyst::Response - Catalyst Response Class
=head1 SYNOPSIS
$resp = $c->response;
$resp->body;
$resp->content_encoding;
$resp->content_length;
$resp->content_type;
$resp->cookies;
$resp->header;
$resp->headers;
$resp->output;
$resp->redirect;
$resp->status;
See also L<Catalyst::Application>.
=head1 DESCRIPTION
This is the Catalyst Response class, which provides a set of accessors
to response data.
=head1 METHODS
=over 4
=item $resp->body($text)
$c->response->body('Catalyst rocks!');
Contains the final output.
=item $resp->content_encoding
Shortcut to $resp->headers->content_encoding
=item $resp->content_length
Shortcut to $resp->headers->content_length
=item $resp->content_type
Shortcut to $resp->headers->content_type
=item $resp->cookies
Returns a reference to a hash containing the cookies to be set.
$c->response->cookies->{foo} = { value => '123' };
=item $resp->header
Shortcut to $resp->headers->header
=item $resp->headers
Returns a L<HTTP::Headers> object containing the headers.
$c->response->headers->header( 'X-Catalyst' => $Catalyst::VERSION );
=item $resp->output
Shortcut to $resp->body
=item $resp->redirect( $url, $status )
Contains a location to redirect to.
$c->response->redirect( 'http://slashdot.org' );
$c->response->redirect( 'http://slashdot.org', 307 );
=cut
sub
redirect {
my
$self
=
shift
;
if
(
@_
) {
my
$location
=
shift
;
my
$status
=
shift
|| 302;
$self
->location(
$location
);
$self
->status(
$status
);
}
return
$self
->location;
}
=item status
Contains the HTTP status.
$c->response->status(404);
=back
=head1 AUTHOR
Sebastian Riedel, C<sri@cpan.org>
Marcus Ramberg, C<mramberg@cpan.org>
=head1 COPYRIGHT
This program is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
1;