From 97432e24075377dd8e8d07c49ba4ecb8d0f4f760 Mon Sep 17 00:00:00 2001 From: Patrick Donelan Date: Fri, 5 Mar 2010 20:11:06 -0500 Subject: [PATCH] Updated to reflect changes in Plack::Request API --- lib/WebGUI.pm | 2 +- lib/WebGUI/Session/Http.pm | 22 ++++++++++------------ lib/WebGUI/Session/Plack.pm | 21 ++------------------- 3 files changed, 13 insertions(+), 32 deletions(-) diff --git a/lib/WebGUI.pm b/lib/WebGUI.pm index 5ebaed2cc..0fb6eff04 100644 --- a/lib/WebGUI.pm +++ b/lib/WebGUI.pm @@ -165,7 +165,7 @@ sub handler { my ($server, $config); if ($request->isa('WebGUI::Session::Plack')) { $server = $request->server; - $config = WebGUI->config; + $config = WebGUI->config; # use our cached version } else { $request = Apache2::Request->new($request); $server = Apache2::ServerUtil->server; #instantiate the server api diff --git a/lib/WebGUI/Session/Http.pm b/lib/WebGUI/Session/Http.pm index 0861d2d9f..0f2dcbae3 100644 --- a/lib/WebGUI/Session/Http.pm +++ b/lib/WebGUI/Session/Http.pm @@ -93,7 +93,7 @@ sub getCookies { my $self = shift; if ($self->session->request) { if ($self->session->request->isa('WebGUI::Session::Plack')) { - return $self->session->request->get_request_cookies; + return $self->session->request->{request}->cookies; } # Have to require this instead of using it otherwise it causes problems for command-line scripts on some platforms (namely Windows) @@ -389,17 +389,15 @@ sub setCookie { $ttl = (defined $ttl ? $ttl : '+10y'); if ($self->session->request) { - if ( $self->session->request->isa('WebGUI::Session::Plack') ) { - $self->session->request->set_response_cookie( - $name => { - value => $value, - path => '/', - expires => $ttl ne 'session' ? $ttl : undef, - domain => $domain, - } - ); - return; - } + if ( $self->session->request->isa('WebGUI::Session::Plack') ) { + $self->session->request->{response}->cookies->{$name} = { + value => $value, + path => '/', + expires => $ttl ne 'session' ? $ttl : undef, + domain => $domain, + }; + } + return; require Apache2::Cookie; my $cookie = Apache2::Cookie->new($self->session->request, diff --git a/lib/WebGUI/Session/Plack.pm b/lib/WebGUI/Session/Plack.pm index 1b552ffa1..c60f04aa8 100644 --- a/lib/WebGUI/Session/Plack.pm +++ b/lib/WebGUI/Session/Plack.pm @@ -39,9 +39,9 @@ sub AUTOLOAD { } # Emulate/delegate/fake Apache2::* subs -sub uri { shift->{request}->request_uri(@_) } +sub uri { shift->{request}->path_info } sub param { shift->{request}->param(@_) } -sub params { shift->{request}->params(@_) } +sub params { shift->{request}->prameters->mixed(@_) } sub headers_in { shift->{request}->headers(@_) } sub headers_out { shift->{headers_out} } sub protocol { shift->{request}->protocol(@_) } @@ -60,23 +60,6 @@ sub content_type { $self->{headers_out}->set( 'Content-Type' => $ct ); } -# These two cookie subs are called from our wG Plack-specific code -sub get_request_cookies { - - # Get the hash of { name => CGI::Simple::Cookie } - my $cookies = shift->{request}->cookies; - - # Convert into { name => value } as expected by wG - my %c = map { $_->name => $_->value } values %{$cookies}; - - return \%c; -} - -sub set_response_cookie { - my ( $self, $name, $val ) = @_; - $self->{response}->cookies->{$name} = $val; -} - # TODO: I suppose this should do some sort of IO::Handle thing sub print { my $self = shift;