lots of test fixes
This commit is contained in:
parent
0d311117e2
commit
30657d61f7
21 changed files with 75 additions and 87 deletions
|
|
@ -38,8 +38,8 @@ my $session = WebGUI::Test->session;
|
|||
my ($adSpace, $alfred, $alfred2, $bruce, $catWoman, $villianClone, $defaultAdSpace );
|
||||
my ($jokerAd, $penguinAd, $twoFaceAd);
|
||||
|
||||
local $ENV{REMOTE_ADDR} = '10.0.0.1';
|
||||
local $ENV{HTTP_USER_AGENT} = 'Mozilla/5.0';
|
||||
$session->request->env->{REMOTE_ADDR} = '10.0.0.1';
|
||||
$session->request->env->{HTTP_USER_AGENT} = 'Mozilla/5.0';
|
||||
|
||||
$adSpace = WebGUI::AdSpace->create($session, {name=>"Alfred"});
|
||||
|
||||
|
|
|
|||
|
|
@ -50,8 +50,8 @@ my $imageStorage = WebGUI::Storage->create($session);
|
|||
WebGUI::Test->addToCleanup($imageStorage);
|
||||
$imageStorage->addFileFromScalar('foo.bmp', 'This is not really an image');
|
||||
|
||||
local $ENV{REMOTE_ADDR} = '10.0.0.1';
|
||||
local $ENV{HTTP_USER_AGENT} = 'Mozilla/5.0';
|
||||
$session->request->env->{REMOTE_ADDR} = '10.0.0.1';
|
||||
$session->request->env->{HTTP_USER_AGENT} = 'Mozilla/5.0';
|
||||
|
||||
$adSpace = WebGUI::AdSpace->create($session, {name=>"Tim Robbins"});
|
||||
$ad=WebGUI::AdSpace::Ad->create($session, $adSpace->getId, {"type" => "text"});
|
||||
|
|
|
|||
|
|
@ -145,7 +145,7 @@ while ( $entryIdx >= 0 ) {
|
|||
'record.entryId' => $entries[$entryIdx]->getId,
|
||||
'record.userId' => $session->user->userId,
|
||||
'record.username' => $session->user->username,
|
||||
'record.ipAddress' => undef,
|
||||
'record.ipAddress' => $session->request->address,
|
||||
'record.delete.icon' => ignore(),
|
||||
'record.delete.url' => ignore(),
|
||||
'record.edit.icon' => ignore(),
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ use JSON;
|
|||
use WebGUI::Test;
|
||||
use WebGUI::Session;
|
||||
use Test::More;
|
||||
use WebGUI::Asset::Wobject::GalleryAlbum;
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Init
|
||||
|
|
@ -87,11 +88,7 @@ my $result;
|
|||
|
||||
#----------------------------------------------------------------------------
|
||||
# Tests
|
||||
plan tests => 19;
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Test module compiles okay
|
||||
use_ok("WebGUI::Asset::Wobject::GalleryAlbum");
|
||||
plan tests => 18;
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Test calling without arguments
|
||||
|
|
@ -251,7 +248,7 @@ sub callAjaxService {
|
|||
my $args = shift;
|
||||
|
||||
# Setup the mock request object
|
||||
$session->request->method('POST');
|
||||
$session->request->env->{'REQUEST_METHOD'} = 'POST';
|
||||
$session->request->setup_body({ args => encode_json($args) });
|
||||
|
||||
# Call ajax service function and decode reply
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ my $session = WebGUI::Test->session;
|
|||
my $output = WebGUI::Content::SiteIndex::handler($session);
|
||||
is $output, undef, 'no content returned unless sitemap.xml is requested';
|
||||
|
||||
$session->request->uri('/sitemap.xml');
|
||||
$session->request->env->{PATH_INFO} = '/sitemap.xml';
|
||||
$output = WebGUI::Content::SiteIndex::handler($session);
|
||||
my $xmlData = XMLin($output,
|
||||
KeepRoot => 1,
|
||||
|
|
|
|||
|
|
@ -1,15 +1,16 @@
|
|||
# Test what happens when the WebGUI PSGI app throws exceptions
|
||||
use strict;
|
||||
use FindBin;
|
||||
use lib "$FindBin::Bin/../../lib";
|
||||
use lib "$FindBin::Bin/../lib";
|
||||
use WebGUI;
|
||||
use WebGUI::Test;
|
||||
use Plack::Test;
|
||||
use Plack::Builder;
|
||||
use HTTP::Request::Common;
|
||||
use Test::More tests => 9;
|
||||
use HTTP::Exception;
|
||||
|
||||
my $wg = WebGUI->new;
|
||||
my $wg = WebGUI->new(site => WebGUI::Test->file);
|
||||
|
||||
my $regular_app = builder {
|
||||
enable '+WebGUI::Middleware::Session', config => $wg->config;
|
||||
|
|
|
|||
|
|
@ -580,12 +580,13 @@ cmp_bag(
|
|||
my @tcps = ();
|
||||
|
||||
foreach my $idx (0..$#ipTests) {
|
||||
##Set the ip to be used by the session for this user
|
||||
my $ip = $ipTests[$idx]->{ip};
|
||||
$ENV{REMOTE_ADDR} = $ip;
|
||||
|
||||
##Create a new session
|
||||
$sessionBank[$idx] = WebGUI::Session->open(WebGUI::Test->file);
|
||||
$sessionBank[$idx] = WebGUI::Test->newSession;
|
||||
|
||||
##Set the ip to be used by the session for this user
|
||||
$sessionBank[$idx]->request->env->{REMOTE_ADDR} = $ip;
|
||||
|
||||
##Create a new user and make this session's default user that user
|
||||
$tcps[$idx] = WebGUI::User->new($sessionBank[$idx], "new");
|
||||
|
|
@ -598,7 +599,6 @@ foreach my $idx (0..$#ipTests) {
|
|||
$ipTests[$idx]->{user} = $tcps[$idx];
|
||||
}
|
||||
WebGUI::Test->addToCleanup(@tcps);
|
||||
WebGUI::Test->addToCleanup(@sessionBank);
|
||||
|
||||
my $gI = WebGUI::Group->new($session, "new");
|
||||
WebGUI::Test->addToCleanup($gI);
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ my $session = WebGUI::Test->session;
|
|||
##can be retrieved via the macro. There are also tests for null, undef,
|
||||
##and non-existant keys.
|
||||
|
||||
my %env = %{ $session->env->{_env} };
|
||||
my %env = %{ $session->request->env };
|
||||
my @keys = keys %env;
|
||||
|
||||
my $numTests = 3 + scalar keys %env;
|
||||
|
|
|
|||
|
|
@ -29,12 +29,9 @@ $session->user({userId=>1});
|
|||
##Replace the original ENV hash with one that will return a
|
||||
##known user agent. Since it usually contains a reference to %ENV,
|
||||
##you can't just modify that hash since it's protected
|
||||
my $origEnv = $session->{_env};
|
||||
my %newEnvHash = (
|
||||
'HTTP_USER_AGENT' => 'mozilla',
|
||||
'QUERY_STRING' => 'func=search',
|
||||
);
|
||||
$session->{_env}->{_env} = \%newEnvHash;
|
||||
my $env = $session->request->env;
|
||||
$env->{'HTTP_USER_AGENT'} = 'mozilla';
|
||||
$env->{'QUERY_STRING'} = 'func=search';
|
||||
|
||||
my $i18n = WebGUI::International->new($session,'Macro_L_loginBox');
|
||||
|
||||
|
|
@ -122,7 +119,7 @@ like($vars{'username.form'}, qr/size="16"/, 'boxSize set in username.form');
|
|||
like($vars{'password.form'}, qr/size="16"/, 'boxSize set in password.form');
|
||||
|
||||
##Change browser to be MSIE like and watch boxSize change
|
||||
$newEnvHash{'HTTP_USER_AGENT'} = "msie";
|
||||
$env->{'HTTP_USER_AGENT'} = 'msie';
|
||||
|
||||
$output = WebGUI::Macro::L_loginBox::process($session,24,'Log In',$template->getId);
|
||||
%vars = simpleTextParser($output);
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ cmp_deeply(
|
|||
);
|
||||
|
||||
# - serviceSubnets
|
||||
$ENV{REMOTE_ADDR} = '2.2.2.2';
|
||||
$session->request->env->{REMOTE_ADDR} = '2.2.2.2';
|
||||
$session->config->set('serviceSubnets',['1.1.1.1/32']);
|
||||
$session->user({ userId => 3 });
|
||||
$session->request->setup_body({
|
||||
|
|
@ -196,7 +196,7 @@ cmp_deeply(
|
|||
);
|
||||
|
||||
# - serviceSubnets
|
||||
$ENV{REMOTE_ADDR} = '2.2.2.2';
|
||||
$session->request->env->{REMOTE_ADDR} = '2.2.2.2';
|
||||
$session->config->set('serviceSubnets',['1.1.1.1/32']);
|
||||
$session->user({ userId => 3 });
|
||||
$session->request->setup_body({
|
||||
|
|
@ -336,7 +336,7 @@ cmp_deeply(
|
|||
);
|
||||
|
||||
# - serviceSubnets
|
||||
$ENV{REMOTE_ADDR} = '2.2.2.2';
|
||||
$session->request->env->{REMOTE_ADDR} = '2.2.2.2';
|
||||
$session->config->set('serviceSubnets',['1.1.1.1/32']);
|
||||
$session->user({ userId => 3 });
|
||||
$session->request->setup_body({
|
||||
|
|
|
|||
|
|
@ -184,17 +184,10 @@ sub testCount {
|
|||
|
||||
plan tests => testCount() ;
|
||||
|
||||
my $output;
|
||||
foreach my $testSet (@testArray) {
|
||||
$output = FAKE_ENV->new( $testSet->{agent},
|
||||
$testSet->{address} || '69.42.78.32')
|
||||
->requestNotViewed();
|
||||
$session->request->env->{HTTP_USER_AGENT} = $testSet->{agent};
|
||||
$session->request->env->{REMOTE_ADDR} = $testSet->{address} || '69.42.78.32';
|
||||
my $output = $session->env->requestNotViewed;
|
||||
is($output, $testSet->{output}, $testSet->{comment});
|
||||
}
|
||||
|
||||
{ # this is a local fake of the session, used for testing only
|
||||
package FAKE_ENV;
|
||||
use base 'WebGUI::Session::Env';
|
||||
sub new { shift; return bless { _env => { HTTP_USER_AGENT => $_[0], REMOTE_ADDR => $_[1] } }, __PACKAGE__; }
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,26 +15,14 @@ use lib "$FindBin::Bin/../lib";
|
|||
use WebGUI::Test;
|
||||
use WebGUI::Session;
|
||||
|
||||
use Test::More tests => 3; # increment this value for each test you create
|
||||
use Test::MockObject::Extends;
|
||||
use Test::More tests => 2; # increment this value for each test you create
|
||||
|
||||
my $session = WebGUI::Test->session;
|
||||
|
||||
|
||||
cmp_ok($session->env->get("PATH"), 'ne', "", "get() one valid entry");
|
||||
|
||||
#Replace the ENV hash so that we can test getIp.
|
||||
cmp_ok($session->env->get("REMOTE_ADDR"), 'ne', "", "get() one valid entry");
|
||||
|
||||
my $env = $session->env;
|
||||
$env = Test::MockObject::Extends->new($env);
|
||||
$session->request->env->{REMOTE_ADDR} = '192.168.0.2';
|
||||
is ($env->getIp, '192.168.0.2', 'getIp');
|
||||
|
||||
my %mockEnv = (
|
||||
REMOTE_ADDR => '192.168.0.2',
|
||||
);
|
||||
|
||||
$env->mock('get', sub { return $mockEnv{$_[1]}});
|
||||
|
||||
is ($env->getIp(), $mockEnv{'REMOTE_ADDR'}, 'getIp');
|
||||
|
||||
$mockEnv{HTTP_X_FORWARDED_FOR} = '10.0.2.5',
|
||||
is ($env->getIp(), $mockEnv{'HTTP_X_FORWARDED_FOR'}, 'getIp with HTTP forwarding');
|
||||
|
|
|
|||
|
|
@ -25,10 +25,10 @@ plan tests => $numTests;
|
|||
my $session = WebGUI::Test->session;
|
||||
|
||||
##Setup for security method test
|
||||
my %newEnv = ( REMOTE_ADDR => '192.168.0.6' );
|
||||
$session->env->{_env} = \%newEnv;
|
||||
my $env = $session->request->env;
|
||||
$env->{REMOTE_ADDR} = '192.168.0.6';
|
||||
|
||||
my ($eh) = $session->quick('errorHandler');
|
||||
my $eh = $session->errorHandler;
|
||||
|
||||
####################################################
|
||||
#
|
||||
|
|
@ -165,13 +165,13 @@ delete $eh->{_canShowDebug};
|
|||
ok($eh->canShowDebug, 'canShowDebug: returns 1 if debugIp is empty string');
|
||||
|
||||
$session->setting->set('debugIp', '10.0.0.5/32, 192.168.0.4/30');
|
||||
$newEnv{REMOTE_ADDR} = '172.17.0.5';
|
||||
$env->{REMOTE_ADDR} ='172.17.0.5';
|
||||
delete $eh->{_canShowDebug};
|
||||
ok(! $eh->canShowDebug, 'canShowDebug: returns 0 if debugIp is set and IP address is out of filter');
|
||||
$newEnv{REMOTE_ADDR} = '10.0.0.5';
|
||||
$env->{REMOTE_ADDR} = '10.0.0.5';
|
||||
delete $eh->{_canShowDebug};
|
||||
ok($eh->canShowDebug, 'canShowDebug: returns 1 if debugIp is set and IP address matches filter');
|
||||
$newEnv{REMOTE_ADDR} = '192.168.0.5';
|
||||
$env->{REMOTE_ADDR} = '192.168.0.5';
|
||||
delete $eh->{_canShowDebug};
|
||||
ok($eh->canShowDebug, 'canShowDebug: returns 1 if debugIp is set and IP address matches filter');
|
||||
|
||||
|
|
@ -189,11 +189,11 @@ $session->setting->set('debugIp', '');
|
|||
is($eh->canShowPerformanceIndicators, 1, 'canShowPerformanceIndicators: returns 1 if debugIp is blank');
|
||||
|
||||
$session->setting->set('debugIp', '10.0.0.5/32, 192.168.0.4/30');
|
||||
$newEnv{REMOTE_ADDR} = '172.17.0.5';
|
||||
$env->{REMOTE_ADDR} = '172.17.0.5';
|
||||
is($eh->canShowPerformanceIndicators, 0, 'canShowPerformanceIndicators: returns 0 if debugIp is set and IP address does not match');
|
||||
$newEnv{REMOTE_ADDR} = '10.0.0.5';
|
||||
$env->{REMOTE_ADDR} = '10.0.0.5';
|
||||
is($eh->canShowPerformanceIndicators, 1, 'canShowPerformanceIndicators: returns 0 if debugIp is set and IP address matches exactly');
|
||||
$newEnv{REMOTE_ADDR} = '192.168.0.5';
|
||||
$env->{REMOTE_ADDR} = '192.168.0.5';
|
||||
is($eh->canShowPerformanceIndicators, 1, 'canShowPerformanceIndicators: returns 0 if debugIp is set and IP address matches subnet');
|
||||
|
||||
####################################################
|
||||
|
|
|
|||
|
|
@ -22,16 +22,16 @@ plan tests => 4;
|
|||
my $session = WebGUI::Test->session;
|
||||
my $token = $session->scratch->get('webguiCsrfToken');
|
||||
|
||||
$session->request->method('POST');
|
||||
$session->request->env->{'REQUEST_METHOD'} = 'POST';
|
||||
$session->request->setup_param({ webguiCsrfToken => $token, });
|
||||
ok($session->form->validToken, 'validToken: right method and form value');
|
||||
|
||||
$session->request->method('GET');
|
||||
$session->request->env->{'REQUEST_METHOD'} = 'GET';
|
||||
ok(! $session->form->validToken, '... wrong method, right form value');
|
||||
|
||||
$session->request->method('POST');
|
||||
$session->request->env->{'REQUEST_METHOD'} = 'POST';
|
||||
$session->request->setup_param({ webguiCsrfToken => 'bad token', });
|
||||
ok(! $session->form->validToken, 'validToken: right method and wrong form value');
|
||||
|
||||
$session->request->method('GET');
|
||||
$session->request->env->{'REQUEST_METHOD'} = 'GET';
|
||||
ok(! $session->form->validToken, 'validToken: wrong method and form value');
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ for (my $count = 1; $count <= $maxCount; $count++){
|
|||
}
|
||||
|
||||
##Creating a new session with the previous session's Id should clone the scratch data
|
||||
my $newSession = WebGUI::Session->open(WebGUI::Test->file, undef, undef, $session->getId);
|
||||
my $newSession = WebGUI::Session->open(WebGUI::Test->file, undef, $session->getId);
|
||||
|
||||
is($newSession->getId, $session->getId, "Successful session duplication");
|
||||
|
||||
|
|
|
|||
|
|
@ -37,9 +37,8 @@ my $id = $session->var->getId;
|
|||
my ($count) = $session->db->quickArray("select count(*) from userSession where sessionId=?",[$id]);
|
||||
is($count, 1, "created an user session entry in the database");
|
||||
|
||||
my %newEnvHash = ( REMOTE_ADDR => '192.168.0.34');
|
||||
my $origEnv = $session->env->{_env};
|
||||
$session->env->{_env} = \%newEnvHash;
|
||||
my $env = $session->request->env;
|
||||
$env->{REMOTE_ADDR} = '192.168.0.34';
|
||||
|
||||
my $var = WebGUI::Session::Var->new($session);
|
||||
my $varTime = time();
|
||||
|
|
@ -66,7 +65,7 @@ isa_ok($var->session, 'WebGUI::Session', 'session method returns a Session objec
|
|||
is($var->session->getId, $session->getId, 'session method returns our Session object');
|
||||
|
||||
sleep(2);
|
||||
$newEnvHash{REMOTE_ADDR} = '10.0.5.5';
|
||||
$env->{REMOTE_ADDR} = '10.0.5.5';
|
||||
|
||||
#Grab a more recent version of our user session object
|
||||
$varTime = time();
|
||||
|
|
@ -157,7 +156,7 @@ $varExpiring->{_var}{expires} = $varExpiring->get('lastPageView')-1;
|
|||
|
||||
sleep 1;
|
||||
|
||||
$newEnvHash{REMOTE_ADDR} = '127.0.0.1';
|
||||
$env->{REMOTE_ADDR} = '127.0.0.1';
|
||||
|
||||
##Test a valid fetch
|
||||
my $varTest = WebGUI::Session::Var->new($session, $var4->getId, 1);
|
||||
|
|
@ -210,8 +209,6 @@ is($varTest->get('userId'), 1, 'calling start with null userId returns default u
|
|||
|
||||
END {
|
||||
|
||||
$session->env->{_env} = $origEnv;
|
||||
|
||||
foreach my $varObj ($var, $var2, $var3, $var4, $varExpiring, $varTest) {
|
||||
if (defined $varObj and ref $varObj eq 'WebGUI::Session::Var') {
|
||||
$varObj->end();
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ is($session->getId, $taxer->session->getId, 'session method returns OUR session
|
|||
|
||||
my $taxIterator = $taxer->getItems;
|
||||
|
||||
isa_ok($taxIterator, 'WebGUI::SQL::ResultSet');
|
||||
isa_ok($taxIterator, 'WebGUI::SQL::st');
|
||||
|
||||
is($taxIterator->rows, 0, 'WebGUI ships with no predefined tax data');
|
||||
|
||||
|
|
|
|||
|
|
@ -608,7 +608,7 @@ is ($cdnStorage->getUrl, $locUrl, 'CDN: getUrl: URL for directory');
|
|||
my $fileUrl = $locUrl . '/' . 'cdn-file';
|
||||
is ($cdnStorage->getUrl('cdn-file'), $fileUrl, 'CDN: getUrl: URL for file');
|
||||
# SSL
|
||||
my %mockEnv = %ENV;
|
||||
my %mockEnv = %{ $session->request->env };
|
||||
my $env = Test::MockObject::Extends->new($session->env);
|
||||
$env->mock('get', sub { return $mockEnv{$_[1]} } );
|
||||
$mockEnv{HTTPS} = 'on';
|
||||
|
|
|
|||
10
t/User.t
10
t/User.t
|
|
@ -478,9 +478,8 @@ ok($dude->canUseAdminMode, 'canUseAdminMode: with no subnets set, user canUseAdm
|
|||
$dude->deleteFromGroups([12]);
|
||||
|
||||
##Spoof the IP address to test subnet level access control to adminMode
|
||||
my $origEnvHash = $session->env->{_env};
|
||||
my %newEnv = ( REMOTE_ADDR => '194.168.0.2' );
|
||||
$session->env->{_env} = \%newEnv;
|
||||
my $env = $session->request->env;
|
||||
$env->{REMOTE_ADDR} = '194.168.0.2';
|
||||
$session->config->set('adminModeSubnets', ['194.168.0.0/24']);
|
||||
|
||||
ok(!$dude->isInGroup(12), 'user is not in group 12');
|
||||
|
|
@ -490,7 +489,7 @@ $dude->addToGroups([12]);
|
|||
|
||||
ok($dude->canUseAdminMode, 'canUseAdminMode: with no subnets set, user canUseAdminMode');
|
||||
|
||||
$newEnv{REMOTE_ADDR} = '10.0.0.2';
|
||||
$env->{REMOTE_ADDR} = '10.0.0.2';
|
||||
|
||||
ok(!$dude->canUseAdminMode, 'canUseAdminMode: even with the right group permission, user must be in subnet if subnet is set');
|
||||
|
||||
|
|
@ -498,11 +497,10 @@ ok(!$dude->canUseAdminMode, 'canUseAdminMode: even with the right group permissi
|
|||
$session->config->set('adminModeSubnets', ['10.0.0.0/24', '192.168.0.0/24', ]);
|
||||
ok($dude->canUseAdminMode, 'canUseAdminMode: multiple IP settings, first IP range');
|
||||
|
||||
$newEnv{REMOTE_ADDR} = '192.168.0.127';
|
||||
$env->{REMOTE_ADDR} = '192.168.0.127';
|
||||
ok($dude->canUseAdminMode, 'canUseAdminMode: multiple IP settings, second IP range');
|
||||
|
||||
##restore the original session variables
|
||||
$session->env->{_env} = $origEnvHash;
|
||||
$session->config->delete('adminModeSubnets');
|
||||
|
||||
################################################################
|
||||
|
|
|
|||
|
|
@ -208,7 +208,7 @@ $tag->clearWorking();
|
|||
|
||||
my $gotTag = ok(defined ($userTag = getWorking(1)), 'versionTagMode singlePerUser: reclaim version tag after clearWorking');
|
||||
SKIP: {
|
||||
skip 1, 'userTag not set' unless $gotTag;
|
||||
skip 'userTag not set', 1 unless $gotTag;
|
||||
is ($userTag->getId(), $userTagId, q{versionTagMode singlePerUser: reclaimed version tag has same id});
|
||||
$userTag->clearWorking();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -154,9 +154,26 @@ sub newSession {
|
|||
shift
|
||||
if eval { $_[0]->isa($CLASS) };
|
||||
my $noCleanup = shift;
|
||||
my $request = shift;
|
||||
my $http_request = shift;
|
||||
require WebGUI::Session;
|
||||
my $session = WebGUI::Session->open( $CLASS->config, newEnv( $request ) );
|
||||
my $session = WebGUI::Session->open( $CLASS->config, newEnv( $http_request ) );
|
||||
my $request = Test::MockObject::Extends->new( $session->request );
|
||||
$request->mock('setup_body', sub {
|
||||
my $self = shift;
|
||||
my $params = shift;
|
||||
delete $self->env->{$_} for grep { /^plack\./ } keys %{ $self->env };
|
||||
my $body_params = $self->body_parameters;
|
||||
$body_params->clear;
|
||||
$body_params->add( $_ => $params->{$_} ) for keys %$params;
|
||||
});
|
||||
$request->mock('setup_param', sub {
|
||||
my $self = shift;
|
||||
my $params = shift;
|
||||
delete $self->env->{$_} for grep { /^plack\./ } keys %{ $self->env };
|
||||
my $query_params = $self->query_parameters;
|
||||
$query_params->clear;
|
||||
$query_params->add( $_ => $params->{$_} ) for keys %$params;
|
||||
});
|
||||
if ( ! $noCleanup ) {
|
||||
$CLASS->addToCleanup($session);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue