From e5adc07a05ba451a38975218a0509655c55ce21e Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Sun, 21 Nov 2010 21:11:41 -0800 Subject: [PATCH] Remove getStatus and setStatus in Session::Http, and replace them with status, from $session->status. --- docs/migration.txt | 11 +++++++ lib/WebGUI.pm | 2 +- lib/WebGUI/Asset.pm | 2 +- lib/WebGUI/Asset/File.pm | 2 +- lib/WebGUI/Asset/Wobject/Dashboard.pm | 2 +- lib/WebGUI/Asset/Wobject/Thingy.pm | 30 +++++++++--------- lib/WebGUI/AssetLineage.pm | 2 +- lib/WebGUI/Auth.pm | 2 +- lib/WebGUI/Auth/WebGUI.pm | 2 +- lib/WebGUI/Content/Asset.pm | 2 +- lib/WebGUI/Content/NotFound.pm | 2 +- lib/WebGUI/Content/Prefetch.pm | 2 +- lib/WebGUI/Operation/User.pm | 8 ++--- lib/WebGUI/Role/Asset/RssFeed.pm | 2 +- lib/WebGUI/Session/Http.pm | 41 ++----------------------- lib/WebGUI/Session/Privilege.pm | 12 ++++---- lib/WebGUI/Shop/PayDriver/ITransact.pm | 2 +- lib/WebGUI/Storage.pm | 2 +- t/Asset/Asset.t | 10 +++--- t/Asset/Wobject/EventManagementSystem.t | 18 +++++------ t/Asset/Wobject/Survey.t | 2 +- t/Asset/Wobject/Thingy.t | 4 +-- t/Content/Asset.t | 4 +-- t/Session/Http.t | 33 ++++++-------------- t/Session/Privilege.t | 6 ++-- t/Session/Url.t | 8 ++--- t/Storage.t | 4 +-- 27 files changed, 88 insertions(+), 129 deletions(-) diff --git a/docs/migration.txt b/docs/migration.txt index 3a56c6002..eaeec8b31 100644 --- a/docs/migration.txt +++ b/docs/migration.txt @@ -284,3 +284,14 @@ WebGUI::Session::Var ========================== WebGUI::Session::Var was removed, and all of its code merged into WebGUI::Session. Any call that used to be made to $session->var should now go directly to $session. + +WebGUI::Session::Http +========================== +getStatus and setStatus have been removed. To set or get the status of an HTTP response +generated by WebGUI, access the WebGUI::Response object in the session: + +OLD: $session->http->getStatus(); +NEW: $session->response->status(); + +OLD: $session->http->setStatus(200); +NEW: $session->response->status(200); diff --git a/lib/WebGUI.pm b/lib/WebGUI.pm index fe0a0390f..972c13904 100644 --- a/lib/WebGUI.pm +++ b/lib/WebGUI.pm @@ -180,7 +180,7 @@ sub handle { return; } # Keep processing for success codes - elsif ($session->http->getStatus < 200 || $session->http->getStatus > 299) { + elsif ($session->response->status < 200 || $session->response->status > 299) { $session->http->sendHeader; return; } diff --git a/lib/WebGUI/Asset.pm b/lib/WebGUI/Asset.pm index 74ac26e05..9e24453da 100644 --- a/lib/WebGUI/Asset.pm +++ b/lib/WebGUI/Asset.pm @@ -619,7 +619,7 @@ sub checkView { return "chunked"; } elsif ($self->get("state") ne "published") { # tell em it doesn't exist anymore - $http->setStatus(410); + $session->response->status(410); my $notFound = WebGUI::Asset->getNotFound($self->session); $self->session->asset($notFound); return $notFound->www_view; diff --git a/lib/WebGUI/Asset/File.pm b/lib/WebGUI/Asset/File.pm index 12b8ec526..a2b13428b 100644 --- a/lib/WebGUI/Asset/File.pm +++ b/lib/WebGUI/Asset/File.pm @@ -615,7 +615,7 @@ sub www_view { # Check to make sure it's not in the trash or some other weird place if ($self->state ne "published") { my $i18n = WebGUI::International->new($session,'Asset_File'); - $session->http->setStatus(404); + $session->response->status(404); return sprintf($i18n->get("file not found"), $self->getUrl()); } diff --git a/lib/WebGUI/Asset/Wobject/Dashboard.pm b/lib/WebGUI/Asset/Wobject/Dashboard.pm index 512078b6e..88aa6823e 100644 --- a/lib/WebGUI/Asset/Wobject/Dashboard.pm +++ b/lib/WebGUI/Asset/Wobject/Dashboard.pm @@ -466,7 +466,7 @@ sub www_view { $self->session->http->setRedirect($self->getUrl("func=manageClipboard")); return undef; } else { # tell em it doesn't exist anymore - $self->session->http->setStatus(410); + $self->session->response->status(410); return WebGUI::Asset->getNotFound($self->session)->www_view; } } diff --git a/lib/WebGUI/Asset/Wobject/Thingy.pm b/lib/WebGUI/Asset/Wobject/Thingy.pm index eb74f091c..05ffbb927 100644 --- a/lib/WebGUI/Asset/Wobject/Thingy.pm +++ b/lib/WebGUI/Asset/Wobject/Thingy.pm @@ -1624,7 +1624,7 @@ sub www_deleteThingDataViaAjax { $session->http->setMimeType("application/json"); unless ($thingId && $thingDataId) { - $session->http->setStatus(400); + $session->response->status(400); return JSON->new->encode({message => "Can't get thing data without a thingId and a thingDataId."}); } @@ -1639,7 +1639,7 @@ sub www_deleteThingDataViaAjax { return JSON->new->encode({message => "Data with thingDataId $thingDataId was deleted."}); } else { - $session->http->setStatus(404); + $session->response->status(404); return JSON->new->encode({message => "The thingId you specified can not be found."}); } } @@ -2583,7 +2583,7 @@ sub www_editThingDataSaveViaAjax { my $i18n = WebGUI::International->new($self->session, "Asset_Thingy"); unless ($thingId && $thingDataId) { - $session->http->setStatus(400); + $session->response->status(400); return JSON->new->encode({message => "Can't get thing data without a thingId and a thingDataId."}); } @@ -2593,22 +2593,22 @@ sub www_editThingDataSaveViaAjax { ,$thingProperties); if($thingDataId eq 'new' && $self->hasEnteredMaxPerUser($thingId)){ - $session->http->setStatus(400); + $session->response->status(400); return JSON->new->encode({message => $i18n->get("has entered max per user message")}); } my ($newThingDataId,$errors) = $self->editThingDataSave($thingId,$thingDataId); if (@{ $errors }) { - $session->http->setStatus(400); + $session->response->status(400); return JSON->new->encode($errors); } - $session->http->setStatus("200"); + $session->response->status("200"); return '{}'; } else { $session->log->warn("thingId ".$thingProperties->{thingId}." not found in thingProperties"); - $session->http->setStatus(404); + $session->response->status(404); return JSON->new->encode({message => "The thingId you requested can not be found."}); } } @@ -2707,7 +2707,7 @@ sub www_getThingViaAjax { $session->http->setMimeType("application/json"); unless ($thingId) { - $session->http->setStatus(400); + $session->response->status(400); return JSON->new->encode({message => "Can't return thing properties without a thingId."}); } @@ -2729,7 +2729,7 @@ sub www_getThingViaAjax { return JSON->new->encode($thingProperties); } else { - $session->http->setStatus(404); + $session->response->status(404); return JSON->new->encode({message => "The thingId you requested can not be found."}); } } @@ -2763,7 +2763,7 @@ sub www_getThingsViaAjax { return JSON->new->encode(\@visibleThings); } else { - $session->http->setStatus(404); + $session->response->status(404); return JSON->new->encode({message => "No visible Things were found in this Thingy."}); } } @@ -3123,7 +3123,7 @@ sub www_searchViaAjax { my $i18n = WebGUI::International->new($self->session,"Asset_Thingy"); unless ($thingId) { - $session->http->setStatus(400); + $session->response->status(400); return JSON->new->encode({message => "Can't perform search without a thingId."}); } @@ -3138,7 +3138,7 @@ sub www_searchViaAjax { return JSON->new->encode($var); } else { - $session->http->setStatus(404); + $session->response->status(404); return JSON->new->encode({message => "The thingId you requested can not be found."}); } } @@ -3557,7 +3557,7 @@ sub www_viewThingDataViaAjax { $session->http->setMimeType("application/json"); unless ($thingId && $thingDataId) { - $session->http->setStatus(400); + $session->response->status(400); return JSON->new->encode({message => "Can't get thing data without a thingId and a thingDataId."}); } @@ -3572,12 +3572,12 @@ sub www_viewThingDataViaAjax { return JSON->new->encode($output); } else{ - $session->http->setStatus(404); + $session->response->status(404); return JSON->new->encode({message => "The thingDataId you requested can not be found."}); } } else { - $session->http->setStatus(404); + $session->response->status(404); return JSON->new->encode({message => "The thingId you requested can not be found."}); } } diff --git a/lib/WebGUI/AssetLineage.pm b/lib/WebGUI/AssetLineage.pm index e914485a4..023461c3b 100644 --- a/lib/WebGUI/AssetLineage.pm +++ b/lib/WebGUI/AssetLineage.pm @@ -94,7 +94,7 @@ sub addChild { my $temp = WebGUI::Asset->newByPropertyHashRef($session, $properties) || croak "Couldn't create a new $properties->{className} asset!"; my $newAsset = $temp->addRevision($properties, $now, $options); $self->updateHistory("added child ".$id); - $session->http->setStatus(201); + $session->response->status(201); return $newAsset; } diff --git a/lib/WebGUI/Auth.pm b/lib/WebGUI/Auth.pm index 9ac071e6c..b85b97e36 100644 --- a/lib/WebGUI/Auth.pm +++ b/lib/WebGUI/Auth.pm @@ -975,7 +975,7 @@ sub www_createAccountSave { return undef; } else { - $self->session->http->setStatus(201); + $self->session->response->status(201); } return undef; diff --git a/lib/WebGUI/Auth/WebGUI.pm b/lib/WebGUI/Auth/WebGUI.pm index 490044553..9ccfd4f96 100644 --- a/lib/WebGUI/Auth/WebGUI.pm +++ b/lib/WebGUI/Auth/WebGUI.pm @@ -786,7 +786,7 @@ sub www_displayLogin { sub www_login { my $self = shift; if(!$self->authenticate($self->session->form->process("username"),$self->session->form->process("identifier"))){ - $self->session->http->setStatus(401); + $self->session->response->status(401); $self->session->log->security("login to account ".$self->session->form->process("username")." with invalid information."); my $i18n = WebGUI::International->new($self->session); return $self->www_displayLogin("

".$i18n->get(70)."

".$self->error); diff --git a/lib/WebGUI/Content/Asset.pm b/lib/WebGUI/Content/Asset.pm index 53d9c82a5..078acf4dd 100644 --- a/lib/WebGUI/Content/Asset.pm +++ b/lib/WebGUI/Content/Asset.pm @@ -70,7 +70,7 @@ sub dispatch { # display from cache if page hasn't been modified. if ($session->user->isVisitor && !$session->http->ifModifiedSince($asset->getContentLastModified, $session->setting->get('maxCacheTimeout'))) { - $session->http->setStatus("304","Content Not Modified"); + $session->response->status("304"); $session->http->sendHeader; return "chunked"; } diff --git a/lib/WebGUI/Content/NotFound.pm b/lib/WebGUI/Content/NotFound.pm index 78401459a..631d58ca3 100644 --- a/lib/WebGUI/Content/NotFound.pm +++ b/lib/WebGUI/Content/NotFound.pm @@ -46,7 +46,7 @@ The content handler for this package. sub handler { my ($session) = @_; - $session->http->setStatus(404); + $session->response->status(404); my $output = ""; my $notFound = WebGUI::Asset->getNotFound($session); if (defined $notFound) { diff --git a/lib/WebGUI/Content/Prefetch.pm b/lib/WebGUI/Content/Prefetch.pm index dc721a899..cfceedebb 100644 --- a/lib/WebGUI/Content/Prefetch.pm +++ b/lib/WebGUI/Content/Prefetch.pm @@ -47,7 +47,7 @@ The content handler for this package. sub handler { my ($session) = @_; if ($session->request->env->{"HTTP_X_MOZ"} eq "prefetch") { # browser prefetch is a bad thing - $session->http->setStatus(403); + $session->response->status(403); } return undef; } diff --git a/lib/WebGUI/Operation/User.pm b/lib/WebGUI/Operation/User.pm index f001acc13..8580cd892 100644 --- a/lib/WebGUI/Operation/User.pm +++ b/lib/WebGUI/Operation/User.pm @@ -354,7 +354,7 @@ sub www_ajaxCreateUser { # Verify access if ( !canAdd($session) || !canUseService($session) ) { # We need an automatic way to send a request for an http basic auth - $session->http->setStatus(401); + $session->response->status(401); return createServiceResponse( $outputFormat, { error => "WebGUI::Error::Unauthorized", message => "", @@ -441,7 +441,7 @@ sub www_ajaxDeleteUser { # Verify access if ( !canEdit($session) || !canUseService($session) ) { # We need an automatic way to send a request for an http basic auth - $session->http->setStatus(401); + $session->response->status(401); return createServiceResponse( $outputFormat, { error => "WebGUI::Error::Unauthorized", message => "", @@ -458,7 +458,7 @@ sub www_ajaxDeleteUser { } ); } elsif ( $userId eq "1" || $userId eq "3" ) { - $session->http->setStatus(403); + $session->response->status(403); return createServiceResponse( $outputFormat, { error => 'WebGUI::Error::InvalidParam', param => 'userId', @@ -508,7 +508,7 @@ sub www_ajaxUpdateUser { # Verify access if ( !canEdit($session) || !canUseService($session) ) { # We need an automatic way to send a request for an http basic auth - $session->http->setStatus(401); + $session->response->status(401); return createServiceResponse( $outputFormat, { error => "WebGUI::Error::Unauthorized", message => "", diff --git a/lib/WebGUI/Role/Asset/RssFeed.pm b/lib/WebGUI/Role/Asset/RssFeed.pm index 0b7a08936..4465baec4 100644 --- a/lib/WebGUI/Role/Asset/RssFeed.pm +++ b/lib/WebGUI/Role/Asset/RssFeed.pm @@ -156,7 +156,7 @@ sub _httpBasicLogin { $self->session->request->headers_out->set( 'WWW-Authenticate' => 'Basic realm="'.$self->session->setting->get('companyName').'"' ); - $self->session->http->setStatus(401); + $self->session->response->status(401); $self->session->http->sendHeader; return ''; } diff --git a/lib/WebGUI/Session/Http.pm b/lib/WebGUI/Session/Http.pm index 355ea5040..181996e5e 100644 --- a/lib/WebGUI/Session/Http.pm +++ b/lib/WebGUI/Session/Http.pm @@ -42,7 +42,6 @@ This package allows the manipulation of HTTP protocol information. $http->sendHeader(); $mimetype = $http->getMimeType(); - $code = $http->getStatus(); $boolean = $http->isRedirect(); $http->setCookie($name,$value); @@ -138,22 +137,6 @@ sub getRedirectLocation { } -#------------------------------------------------------------------- - -=head2 getStatus ( ) { - -Returns the current HTTP status code. If no code has been set, -the code returned will be 200. - -=cut - -sub getStatus { - my $self = shift; - my $status = $self->{_http}{status} || "200"; - return $status; -} - - #------------------------------------------------------------------- =head2 getStreamedFile ( ) { @@ -212,7 +195,7 @@ Returns a boolean value indicating whether the current page will redirect to som sub isRedirect { my $self = shift; - my $status = $self->getStatus; + my $status = $self->session->response->status; return $status == 302 || $status == 301; } @@ -264,7 +247,6 @@ sub sendHeader { my %params; if ($self->isRedirect()) { $response->header(Location => $self->getRedirectLocation); - $response->status($self->getStatus); } else { $response->content_type($self->getMimeType); my $cacheControl = $self->getCacheControl; @@ -297,7 +279,6 @@ sub sendHeader { if ($self->getFilename) { $response->header( 'Content-Disposition' => qq{attachment; filename="}.$self->getFilename().'"'); } - $response->status($self->getStatus()); } return undef; } @@ -311,7 +292,6 @@ sub _sendMinimalHeader { "Pragma" => "no-cache", "Cache-Control" => "no-cache", ); - $response->status($self->getStatus()); return undef; } @@ -507,7 +487,7 @@ sub setRedirect { return undef if ($url eq $self->session->url->page() && scalar(@params) < 1); # prevent redirecting to self $self->session->log->info("Redirecting to $url"); $self->setRedirectLocation($url); - $self->setStatus($type); + $self->session->response->status($type); $self->session->style->setMeta({"http-equiv"=>"refresh",content=>"0; URL=".$url}); } @@ -527,23 +507,6 @@ sub setRedirectLocation { #------------------------------------------------------------------- -=head2 setStatus ( code ) - -Sets the HTTP status code. - -=head3 code - -An HTTP status code. It is a 3 digit status number. - -=cut - -sub setStatus { - my $self = shift; - $self->{_http}{status} = shift; -} - -#------------------------------------------------------------------- - =head2 setStreamedFile ( ) { Set a file to be streamed thru mod_perl. diff --git a/lib/WebGUI/Session/Privilege.pm b/lib/WebGUI/Session/Privilege.pm index 2f8047609..edb3fd219 100644 --- a/lib/WebGUI/Session/Privilege.pm +++ b/lib/WebGUI/Session/Privilege.pm @@ -60,7 +60,7 @@ Returns a message stating that this functionality can only be used by administra sub adminOnly { my $self = shift; my $i18n = WebGUI::International->new($self->session); - $self->session->http->setStatus(401); + $self->session->response->status(401); my $output = '

'.$i18n->get(35).'

'; $output .= $i18n->get(36); return $self->session->style->userStyle($output); @@ -78,7 +78,7 @@ sub insufficient { my $self = shift; my $noStyle = shift; my $i18n = WebGUI::International->new($self->session); - $self->session->http->setStatus(401); + $self->session->response->status(401); my $output = '

'.$i18n->get(37).'

'; if ($noStyle) { $self->session->style->useEmptyStyle(1); @@ -103,7 +103,7 @@ sub locked { my $self = shift; my $noStyle = shift; my $i18n = WebGUI::International->new($self->session); - $self->session->http->setStatus(401); + $self->session->response->status(401); my $output = '

'.$i18n->get(37).'

'; if ($noStyle) { $self->session->style->useEmptyStyle(1); @@ -148,7 +148,7 @@ Returns a message stating that the user does not have the privileges necessary t sub noAccess { my $self = shift; - $self->session->http->setStatus(401); + $self->session->response->status(401); if ($self->session->user->isVisitor) { return WebGUI::Operation::Auth::www_auth($self->session, "init"); } else { @@ -171,7 +171,7 @@ Returns a message stating that the user they requested information about is no l sub notMember { my $self = shift; my $i18n = WebGUI::International->new($self->session); - $self->session->http->setStatus(400); + $self->session->response->status(400); my ($output); $output = '

'.$i18n->get(345).'

'; $output .= $i18n->get(346); @@ -203,7 +203,7 @@ Returns a message stating that the user made a request to delete something that sub vitalComponent { my $self = shift; my $i18n = WebGUI::International->new($self->session); - $self->session->http->setStatus(403); + $self->session->response->status(403); my ($output); $output = '

'.$i18n->get(40).'

'; $output .= $i18n->get(41); diff --git a/lib/WebGUI/Shop/PayDriver/ITransact.pm b/lib/WebGUI/Shop/PayDriver/ITransact.pm index de948531c..06a7133ae 100644 --- a/lib/WebGUI/Shop/PayDriver/ITransact.pm +++ b/lib/WebGUI/Shop/PayDriver/ITransact.pm @@ -715,7 +715,7 @@ sub www_processRecurringTransactionPostback { # First check whether the original transaction actualy exists if (WebGUI::Error->caught || !(defined $baseTransaction) ) { $session->log->warn("Check recurring postback: No base transction for XID: [$originatingXid]"); - $session->http->setStatus(500); + $session->response->status(500); return "Check recurring postback. No base transction for XID: [$originatingXid]"; } diff --git a/lib/WebGUI/Storage.pm b/lib/WebGUI/Storage.pm index 06c3454aa..7647f0672 100644 --- a/lib/WebGUI/Storage.pm +++ b/lib/WebGUI/Storage.pm @@ -360,7 +360,7 @@ sub addFileFromFormPost { my $attachmentLimit = shift || 99999; my $session = $self->session; return "" - if ($self->session->http->getStatus eq '413'); + if ($self->session->response->status eq '413'); my $filename; my $attachmentCount = 1; foreach my $upload ($session->request->upload($formVariableName)) { diff --git a/t/Asset/Asset.t b/t/Asset/Asset.t index cad051656..862ac8d55 100644 --- a/t/Asset/Asset.t +++ b/t/Asset/Asset.t @@ -860,19 +860,19 @@ is $clippedAsset->get('state'), 'clipboard', '... clipped an asset'; $session->switchAdminOff; $session->http->setRedirectLocation(''); -$session->http->setStatus(200, 'OK'); +$session->response->status(200, 'OK'); $trashedAsset->checkView(); -is $session->http->getStatus, 410, '... status set to 410 for trashed asset'; +is $session->response->status, 410, '... status set to 410 for trashed asset'; is $session->http->getRedirectLocation, '', '... no redirect set'; -$session->http->setStatus(200, 'OK'); +$session->response->status(200, 'OK'); $clippedAsset->checkView(); -is $session->http->getStatus, 410, '... status set to 410 for cut asset'; +is $session->response->status, 410, '... status set to 410 for cut asset'; is $session->http->getRedirectLocation, '', '... no redirect set'; $session->switchAdminOn; -$session->http->setStatus(200, 'OK'); +$session->response->status(200, 'OK'); is $trashedAsset->checkView(), 'chunked', '... returns "chunked" when admin is on for trashed asset'; is $session->http->getRedirectLocation, $trashedAsset->getUrl('func=manageTrash'), '... trashed asset sets redirect to manageTrash'; diff --git a/t/Asset/Wobject/EventManagementSystem.t b/t/Asset/Wobject/EventManagementSystem.t index 7d69c0ec2..0539f9eac 100644 --- a/t/Asset/Wobject/EventManagementSystem.t +++ b/t/Asset/Wobject/EventManagementSystem.t @@ -353,26 +353,26 @@ is($printRemainingTicketsTemplateId, "hreA_bgxiTX-EzWCSZCZJw", 'Default print re #Make sure permissions work on pages my $data; $session->user({userId => $crasher->getId}); -$session->http->setStatus(201); +$session->response->status(201); $data = $ems->www_viewSchedule(); -is($session->http->getStatus, 401, 'www_viewSchedule: visitor may not see the schedule'); +is($session->response->status, 401, 'www_viewSchedule: visitor may not see the schedule'); $data = $ems->www_printRemainingTickets(); -is($session->http->getStatus, 401, 'www_printRemainingTickets: visitor may not print the remaining tickets'); +is($session->response->status, 401, 'www_printRemainingTickets: visitor may not print the remaining tickets'); -$session->http->setStatus(201); +$session->response->status(201); $session->user({userId => $attender->getId}); $data = $ems->www_viewSchedule(); -is($session->http->getStatus, 201, '... attender user can see the schedule'); +is($session->response->status, 201, '... attender user can see the schedule'); $data = $ems->www_printRemainingTickets(); -is($session->http->getStatus, 401, 'www_printRemainingTickets: attender may not print the remaining tickets'); +is($session->response->status, 401, 'www_printRemainingTickets: attender may not print the remaining tickets'); -$session->http->setStatus(201); +$session->response->status(201); $session->user({userId => $registrar->getId}); $data = $ems->www_printRemainingTickets(); -is($session->http->getStatus, 201, 'www_printRemainingTickets: registration staff may print the remaining tickets'); +is($session->response->status, 201, 'www_printRemainingTickets: registration staff may print the remaining tickets'); -$session->http->setStatus(201); +$session->response->status(201); $session->user({userId => $crasher->getId}); my ($json, $records); $json = $ems->www_getScheduleDataJSON(); diff --git a/t/Asset/Wobject/Survey.t b/t/Asset/Wobject/Survey.t index ee63b1abc..55145a2c0 100644 --- a/t/Asset/Wobject/Survey.t +++ b/t/Asset/Wobject/Survey.t @@ -172,7 +172,7 @@ cmp_deeply(from_json($surveyEnd), { type => 'forward', url => '/getting_started' # Check a simple www_jumpTo request $session->user( { userId => 3 } ); WebGUI::Test->getPage( $survey, 'www_jumpTo', { formParams => {id => '0'} } ); - is( $session->http->getStatus, '201', 'Page request ok' ); # why is "201 - created" status used?? + is( $session->response->status, '201', 'Page request ok' ); # why is "201 - created" status used?? is($survey->responseJSON->nextResponse, 0, 'S0 is the first response'); tie my %expectedSurveyOrder, 'Tie::IxHash'; diff --git a/t/Asset/Wobject/Thingy.t b/t/Asset/Wobject/Thingy.t index a0f91be1b..b62e3462e 100644 --- a/t/Asset/Wobject/Thingy.t +++ b/t/Asset/Wobject/Thingy.t @@ -430,10 +430,10 @@ $session->request->setup_body({ }); $session->user({userId => '3'}); -$session->http->setStatus(200); +$session->response->status(200); my $json = $thingy->www_editThingDataSaveViaAjax(); diag "json: ".$json; is $json, '{}', 'www_editThingDataSaveViaAjax: Empty JSON hash'; -is $session->http->getStatus, 200, '... http status=200'; +is $session->response->status, 200, '... http status=200'; $session->request->setup_body({ }); diff --git a/t/Content/Asset.t b/t/Content/Asset.t index 994b5fe6e..0f848d7ac 100644 --- a/t/Content/Asset.t +++ b/t/Content/Asset.t @@ -224,14 +224,14 @@ WebGUI::Test->addToCleanup( $notModifiedSession ); my $output = WebGUI::Content::Asset::handler( $notModifiedSession ); is( $output, "chunked", "304 returns chunked" ); -is( $notModifiedSession->http->getStatus, "304", "http status code set" ); +is( $notModifiedSession->response->status, "304", "http status code set" ); ok( !$notModifiedSession->closed, "session is not closed" ); $notModifiedSession = WebGUI::Test->newSession( undef, $http_request); WebGUI::Test->addToCleanup( $notModifiedSession ); $notModifiedSession->user({ userId => 3}); my $output = WebGUI::Content::Asset::handler( $notModifiedSession ); -isnt( $notModifiedSession->http->getStatus, "304", "logged in user doesn't get 304" ); +isnt( $notModifiedSession->response->status, "304", "logged in user doesn't get 304" ); ok( !$notModifiedSession->closed, "session is not closed" ); # Test that requesting a URL that doesn't exist, but one of the permutations does exist, returns undef diff --git a/t/Session/Http.t b/t/Session/Http.t index 3f5684e11..7642f7dc6 100644 --- a/t/Session/Http.t +++ b/t/Session/Http.t @@ -20,11 +20,12 @@ use Data::Dumper; use Test::More; # increment this value for each test you create use Test::Deep; -plan tests => 48; +plan tests => 46; my $session = WebGUI::Test->session; -my $http = $session->http; +my $http = $session->http; +my $response = $session->response; use Test::MockObject::Extends; @@ -38,37 +39,21 @@ $http->mock( getCookies => sub { return {$cookieName => $varId} } ); isa_ok($http, 'WebGUI::Session::Http', 'session has correct object type'); -#################################################### -# -# setStatus, getStatus -# -#################################################### - -$http->setStatus('123'); - -is($http->getStatus, '123', 'getStatus: returns correct code'); - -$http->setStatus(''); - -is($http->getStatus, '200', 'getStatus: returns default code'); - -$http->setStatus('', 'packets are great'); - #################################################### # # isRedirect # #################################################### -$http->setStatus('200'); +$response->status('200'); ok(!$http->isRedirect, 'isRedirect: 200 is not'); -$http->setStatus('301'); +$response->status('301'); ok($http->isRedirect, '... 301 is'); -$http->setStatus('302'); +$response->status('302'); ok($http->isRedirect, '... 302 is too'); -$http->setStatus('200'); +$response->status('200'); #################################################### # @@ -151,7 +136,7 @@ $http->setCacheControl(undef); $session->request->uri('/here/later'); $http->setRedirect('/here/now'); -is($http->getStatus, 302, 'setRedirect: sets HTTP status'); +is($response->status, 302, 'setRedirect: sets HTTP status'); is($http->getRedirectLocation, '/here/now', 'setRedirect: redirect location'); $session->style->useEmptyStyle(1); @@ -234,7 +219,7 @@ is($http->sendHeader, undef, 'sendHeader returns undef when no request object is my $guard = WebGUI::Test->cleanupGuard($session); my $http = $session->http; my $response = $session->response; - $http->setStatus(200, 'Just spiffy'); + $response->status(200); $http->setMimeType(''); $session->request->protocol(''); $http->setLastModified(1200); diff --git a/t/Session/Privilege.t b/t/Session/Privilege.t index f5f1036d4..19163601f 100644 --- a/t/Session/Privilege.t +++ b/t/Session/Privilege.t @@ -83,7 +83,7 @@ my $i18n = WebGUI::International->new($session); foreach my $test (@simpleTests) { my $method = $test->{method}; my $output = $privilege->$method; - is($session->http->getStatus(), $test->{status}, "$method: status code"); + is($session->response->status(), $test->{status}, "$method: status code"); my $title = $i18n->get($test->{titleCode}); like($output, qr{

$title

}, "$method: correct title"); like($output, qr{^USERSTYLE}, "$method: renders in WebGUI User Style"); @@ -97,7 +97,7 @@ foreach my $test (@simpleTests) { #################################################### my $output = $privilege->insufficient(1); -is($session->http->getStatus(), '401', 'insufficient: status code with Visitor'); +is($session->response->status(), '401', 'insufficient: status code with Visitor'); my $title = $i18n->get(37); unlike($output, qr{^USERSTYLE}, "insufficient: when noStyle is true the user style is not used"); like($output, qr{

$title

}, "insufficient: when noStyle is true the title is still okay"); @@ -111,7 +111,7 @@ like($output, qr{

$title

}, "insufficient: when noStyle is true the title $session->user({userId=>1}); my $output = $privilege->noAccess; -is($session->http->getStatus(), '401', 'noAccess: status code with Visitor'); +is($session->response->status(), '401', 'noAccess: status code with Visitor'); ##Is the auth screen returned, not validating the auth screen is($output, WebGUI::Operation::Auth::www_auth($session, "init"), 'noAccess: visitor sees auth screen'); diff --git a/t/Session/Url.t b/t/Session/Url.t index 48e489305..15be31148 100644 --- a/t/Session/Url.t +++ b/t/Session/Url.t @@ -445,8 +445,8 @@ ok( ! $session->url->forceSecureConnection(), 'HTTPS must not be "on" to force S ok( ! $session->url->forceSecureConnection('/test/url'), 'all conditions must be met, even if a URL is directly passed in'); ##Validate the HTTP object state before we start -$session->http->setStatus('200', 'OK'); -is($session->http->getStatus, 200, 'http status is okay, 200'); +$session->response->status('200'); +is($session->response->status, 200, 'http status is okay, 200'); is($session->http->getRedirectLocation, undef, 'redirect location is empty'); $env->{'psgi.url_scheme'} = "http"; @@ -455,10 +455,10 @@ my $secureUrl = $session->url->getSiteURL . '/foo/bar/baz/buz'; $secureUrl =~ s/http:/https:/; ok($session->url->forceSecureConnection('/foo/bar/baz/buz'), 'forced secure connection'); -is($session->http->getStatus, 302, 'http status set to redirect, 302'); +is($session->response->status, 302, 'http status set to redirect, 302'); is($session->http->getRedirectLocation, $secureUrl, 'redirect location set to proper passed in URL with SSL and sitename added'); -$session->http->setStatus('200', 'OK'); +$session->response->status('200', 'OK'); $session->http->setRedirectLocation(undef); $secureUrl = $session->url->getSiteURL . $session->url->page(); diff --git a/t/Storage.t b/t/Storage.t index cb1e27ffb..e8b94ade1 100644 --- a/t/Storage.t +++ b/t/Storage.t @@ -482,10 +482,10 @@ cmp_bag( # #################################################### -$session->http->setStatus(413); +$session->response->status(413); is($fileStore->addFileFromFormPost(), '', 'addFileFromFormPost returns empty string when HTTP status is 413'); -$session->http->setStatus(200); +$session->response->status(200); $session->request->upload('files', []); my $formStore = WebGUI::Storage->create($session); addToCleanup($formStore);