[Jifty-commit] jifty branch, plack, updated. 9cd8cb7312ad90438a751945950c66c88d758ab0
Jifty commits
jifty-commit at lists.jifty.org
Fri Jan 29 23:51:30 EST 2010
The branch, plack has been updated
via 9cd8cb7312ad90438a751945950c66c88d758ab0 (commit)
from 872a240aac9ae9af9614cb3f3a8df17cd2d9dbf7 (commit)
Summary of changes:
lib/Jifty/Request.pm | 25 ++++++++++++-------------
lib/Jifty/Web/Session.pm | 4 ++--
t/Jifty.pm | 2 +-
3 files changed, 15 insertions(+), 16 deletions(-)
- Log -----------------------------------------------------------------
commit 9cd8cb7312ad90438a751945950c66c88d758ab0
Author: Chia-liang Kao <clkao at clkao.org>
Date: Sat Jan 30 12:40:06 2010 +0800
Use proper constructor in Jifty::Request->promote and avoid accessing cookies from env.
diff --git a/lib/Jifty/Request.pm b/lib/Jifty/Request.pm
index 8ba87c6..2bd9710 100644
--- a/lib/Jifty/Request.pm
+++ b/lib/Jifty/Request.pm
@@ -20,6 +20,7 @@ has 'parameters' => (is => 'rw', isa => 'HashRef', default => sub { {} });
has 'uploads' => (is => 'rw', isa => 'HashRef');
has 'headers' => (is => 'rw', isa => 'HTTP::Headers', default => sub { HTTP::Headers->new });
has 'uri' => (is => 'rw', isa => 'URI', default => sub { URI->new('http:///') });
+has 'cookies' => (is => 'rw', isa => 'HashRef', default => sub { {} } );
sub address { $_[0]->env->{REMOTE_ADDR} }
sub remote_host { $_[0]->env->{REMOTE_HOST} }
@@ -161,19 +162,17 @@ sub promote {
die Carp::longmess("old calling style") unless ref $req;
# Import all props from Plack::Request object
- my $self = bless {}, $class;
- $self->{'actions'} = {};
- $self->{'state_variables'} = {};
- $self->{'fragments'} = {};
- $self->arguments({});
- $self->template_arguments({});
-
- $req->cookies; # vivify plack.cookie.parsed
- $self->{env} = $req->env;
- $self->uri($req->uri);
- $self->headers($req->headers);
- $self->parameters($req->parameters->mixed);
- $self->uploads($req->uploads->mixed);
+ my $self = $class->new( env => $req->env,
+ headers => $req->headers,
+ parameters => $req->parameters->mixed,
+ uploads => $req->uploads->mixed,
+ uri => $req->uri,
+ cookies => $req->cookies,
+ actions => {},
+ state_variables => {},
+ fragments => {},
+ arguments => {},
+ template_arguments => {} );
# Grab content type and posted data, if any
my $ct = $req->content_type;
diff --git a/lib/Jifty/Web/Session.pm b/lib/Jifty/Web/Session.pm
index 23171f5..fb0106b 100644
--- a/lib/Jifty/Web/Session.pm
+++ b/lib/Jifty/Web/Session.pm
@@ -111,7 +111,7 @@ sub load_by_kv {
sub _get_session_id_from_client {
my $self = shift;
my $cookies = Jifty->web->request
- ? Jifty->web->request->env->{'plack.cookie.parsed'} : {};
+ ? Jifty->web->request->cookies : {};
return $cookies->{$self->cookie_name};
}
@@ -318,7 +318,7 @@ sub set_cookie {
$self->load unless $self->loaded;
my $cookie_name = $self->cookie_name;
- my $cookies = Jifty->web->request ? Jifty->web->request->env->{'plack.cookie.parsed'} : {};
+ my $cookies = Jifty->web->request ? Jifty->web->request->cookies : {};
my $cookie = {
value => $self->id,
expires => $self->expires,
diff --git a/t/Jifty.pm b/t/Jifty.pm
index 78c9828..16542d9 100644
--- a/t/Jifty.pm
+++ b/t/Jifty.pm
@@ -16,7 +16,7 @@ use Test::Base::Filter -Base;
sub request_from_webform {
my $form = shift;
my $r = Jifty::Request->new->from_webform(%$form);
- delete $r->{$_} for qw(env headers parameters);
+ delete $r->{$_} for qw(env headers parameters cookies);
return $r;
}
-----------------------------------------------------------------------
More information about the Jifty-commit
mailing list