[Jifty-commit] jifty branch, plack-rebased, updated. c571493c6f857b613d41ef257ab6f2738cf02f9a
Jifty commits
jifty-commit at lists.jifty.org
Sat Feb 6 10:49:32 EST 2010
The branch, plack-rebased has been updated
via c571493c6f857b613d41ef257ab6f2738cf02f9a (commit)
via f2640eb4c36038f5e293d76d3d6aa44f36e60efb (commit)
via b7bf5998fc5fd3d3230b959c9f5c03700765e5f9 (commit)
from 9610bcddfd00cdca109ead0c952c98324848f68f (commit)
Summary of changes:
lib/Jifty/Web/Session.pm | 129 ++----------------------
lib/Jifty/Web/{Session.pm => Session/JDBI.pm} | 135 +------------------------
2 files changed, 14 insertions(+), 250 deletions(-)
copy lib/Jifty/Web/{Session.pm => Session/JDBI.pm} (66%)
- Log -----------------------------------------------------------------
commit c571493c6f857b613d41ef257ab6f2738cf02f9a
Merge: 9610bcd f2640eb
Author: Jesse Vincent <jesse at bestpractical.com>
Date: Sat Feb 6 07:35:10 2010 -0800
Merge branch 'master' into plack-rebased
* master:
Last commit --amend before push failed.
Extract our JDBI-based session handler from the core session handler class
Conflicts:
lib/Jifty/Web/Session.pm
diff --cc lib/Jifty/Web/Session.pm
index fb0106b,86d77d4..c3388b9
--- a/lib/Jifty/Web/Session.pm
+++ b/lib/Jifty/Web/Session.pm
@@@ -3,11 -3,8 +3,7 @@@ use strict
package Jifty::Web::Session;
use base qw/Jifty::Object/;
-use CGI::Cookie ();
use DateTime ();
- use Storable ();
- $Storable::Deparse = 1;
- $Storable::Eval = 1;
- $Storable::forgive_me = 1;
=head1 NAME
@@@ -86,33 -66,8 +65,7 @@@ based on, say, a timestamp, then you'r
=cut
sub load_by_kv {
- my $self = shift;
- my $k = shift;
- my $v = shift;
--
- # XXX TODO: we store this data in a storable. so we now want to match on the storable version
- # It would be so nice if Jifty::DBI could do this for us.
- my $encoded = Storable::nfreeze( \$v );
-
- my $session = Jifty::Model::Session->new;
- $session->load_by_cols(
- key_type => 'key',
- data_key => $k,
- value => $encoded,
- );
- my $session_id = $session->session_id;
-
- # XXX: if $session_id is undef, then bad things happen. This *can* happen.
-
- $self->load($session_id);
- $self->set( $k => $v ) if !$session_id;
- }
-
- sub _get_session_id_from_client {
- my $self = shift;
- my $cookies = Jifty->web->request
- ? Jifty->web->request->cookies : {};
- return $cookies->{$self->cookie_name};
+ die "Subclass must implement load_by_kv";
}
=head2 unload
diff --cc lib/Jifty/Web/Session/JDBI.pm
index fb0106b,2c792c6..f07d432
--- a/lib/Jifty/Web/Session/JDBI.pm
+++ b/lib/Jifty/Web/Session/JDBI.pm
@@@ -108,43 -101,14 +101,14 @@@ sub load_by_kv
$self->set( $k => $v ) if !$session_id;
}
++
sub _get_session_id_from_client {
my $self = shift;
- my %cookies = CGI::Cookie->fetch();
- my $cookie_name = $self->cookie_name;
- my $session_id
- = $cookies{$cookie_name} ? $cookies{$cookie_name}->value() : undef;
+ my $cookies = Jifty->web->request
+ ? Jifty->web->request->cookies : {};
+ return $cookies->{$self->cookie_name};
}
- =head2 unload
-
- Flush the session, and leaves the session object blank.
-
- =cut
-
- sub unload {
- my $self = shift;
-
- return unless $self->loaded;
- $self->_session(undef);
- }
-
- =head2 loaded
-
- Returns true if the session has already been loaded.
-
- =cut
-
- sub loaded {
- my $self = shift;
- return $self->_session;
- }
-
- sub _session {
- my $self = shift;
- $self->{'_session'} = shift if (@_);
- return ( $self->{'_session'} );
- }
-
=head2 get KEY [TYPE]
Returns the value for C<KEY> for the current user's session. C<TYPE>,
-----------------------------------------------------------------------
More information about the Jifty-commit
mailing list