use MRO::Compat;
use Catalyst::Utils ();
-our $VERSION = "0.13";
+our $VERSION = "0.17";
has _deleted_session_id => ( is => 'rw' );
$c->maybe::next::method(@_);
- $c->config->{session}{cookie_name}
+ $c->_session_plugin_config->{cookie_name}
||= Catalyst::Utils::appprefix($c) . '_session';
}
my ( $c, $updated ) = @_;
unless ( $c->cookie_is_rejecting( $updated ) ) {
- my $cookie_name = $c->config->{session}{cookie_name};
+ my $cookie_name = $c->_session_plugin_config->{cookie_name};
$c->response->cookies->{$cookie_name} = $updated;
}
}
sub make_session_cookie {
my ( $c, $sid, %attrs ) = @_;
- my $cfg = $c->config->{session};
+ my $cfg = $c->_session_plugin_config;
my $cookie = {
value => $sid,
( $cfg->{cookie_domain} ? ( domain => $cfg->{cookie_domain} ) : () ),
$cookie->{secure} = 1 unless ( ($sec==0) || ($sec==2) );
$cookie->{secure} = 1 if ( ($sec==2) && $c->req->secure );
+ $cookie->{httponly} = $cfg->{cookie_httponly};
$cookie->{httponly} = 1
- unless exists $cookie->{httponly}; # default = 1 (set httponly)
+ unless defined $cookie->{httponly}; # default = 1 (set httponly)
return $cookie;
}
sub calculate_session_cookie_expires {
my $c = shift;
- my $cfg = $c->config->{session};
+ my $cfg = $c->_session_plugin_config;
my $value = $c->maybe::next::method(@_);
return $value if $value;
sub get_session_cookie {
my $c = shift;
- my $cookie_name = $c->config->{session}{cookie_name};
+ my $cookie_name = $c->_session_plugin_config->{cookie_name};
return $c->request->cookies->{$cookie_name};
}
If this attribute B<set to 0> the cookie will not have the secure flag.
If this attribute B<set to 1> (or true for backward compatibility) - the cookie
-send by the server to the client will got the secure flag that tells the browser
-to send this cookies back to the server only via HTTPS.
+sent by the server to the client will get the secure flag that tells the browser
+to send this cookie back to the server only via HTTPS.
-If this attribute B<set to 2> then the cookie will got the secure flag only if
+If this attribute B<set to 2> then the cookie will get the secure flag only if
the request that caused cookie generation was sent over https (this option is
-not good if you are mixing https and http in you application).
+not good if you are mixing https and http in your application).
-Default vaule is 0.
+Default value is 0.
=item cookie_httponly
Note1: Many peole are confused by the name "HTTPOnly" - it B<does not mean>
that this cookie works only over HTTP and not over HTTPS.
-Note2: This paramater requires Catalyst::Runtime 5.80005 otherwise is skipped.
+Note2: This parameter requires Catalyst::Runtime 5.80005 otherwise is skipped.
=item cookie_path
For example, you could stick this in MyApp.pm:
- __PACKAGE__->config( session => {
+ __PACKAGE__->config( 'Plugin::Session' => {
cookie_domain => '.mydomain.com',
});
Marcus Ramberg
Jonathan Rockway E<lt>jrockway@cpan.orgE<gt>
Sebastian Riedel
+ Florian Ragwitz
=head1 COPYRIGHT
+Copyright (c) 2005 - 2009
+the Catalyst::Plugin::Session::State::Cookie L</AUTHORS> and L</CONTRIBUTORS>
+as listed above.
+
+=head1 LICENSE
+
This program is free software, you can redistribute it and/or modify it
under the same terms as Perl itself.