use Time::HiRes qw/gettimeofday tv_interval/;
use URI;
use Scalar::Util qw/weaken/;
-use Hash::Util qw/lock_hash/;
-use HTTP::Headers::ReadOnly;
use attributes;
__PACKAGE__->mk_accessors(
__PACKAGE__->request_class('Catalyst::Request');
__PACKAGE__->response_class('Catalyst::Response');
-our $VERSION = '5.52';
+our $VERSION = '5.54';
sub import {
my ( $class, @arguments ) = @_;
=cut
-sub finalize_cookies {
- my $c = shift;
- $c->engine->finalize_cookies( $c, @_ );
- lock_hash( %$_ ) for $c->res->cookies, values %{ $c->res->cookies };
-}
+sub finalize_cookies { my $c = shift; $c->engine->finalize_cookies( $c, @_ ) }
=item $c->finalize_error
$c->engine->finalize_headers( $c, @_ );
- bless $c->response->headers, "HTTP::Headers::ReadOnly";
-
# Done
$c->response->{_finalized_headers} = 1;
}
return $instance;
};
- eval {
- Module::Pluggable::Fast->import(
+ eval "package $class;\n" . q!Module::Pluggable::Fast->import(
name => '_catalyst_components',
search => [
"$class\::Controller", "$class\::C",
],
callback => $callback
);
- };
+ !;
if ( my $error = $@ ) {
will need to manually set the C<Content-Length> header to the length of
your output data, if known.
-Also note that any headers created after the write can no longer be added, and
-this includes cookies.
-
=cut
sub write {