Don't look in the config file to get the gateway, look in the request object. Maybe someday we'll be able to use URI.
This commit is contained in:
parent
86cb25acfc
commit
cbee62e407
2 changed files with 6 additions and 17 deletions
|
|
@ -178,7 +178,7 @@ sub gateway {
|
||||||
my $pairs = shift;
|
my $pairs = shift;
|
||||||
my $skipPreventProxyCache = shift;
|
my $skipPreventProxyCache = shift;
|
||||||
my $url = $self->make_urlmap_work($self->session->config->get("gateway")).'/'.$pageUrl;
|
my $url = $self->make_urlmap_work($self->session->config->get("gateway")).'/'.$pageUrl;
|
||||||
$url =~ s/\/+/\//g;
|
$url =~ tr{/}{/}s;
|
||||||
if ($self->session->setting->get("preventProxyCache") == 1 and !$skipPreventProxyCache) {
|
if ($self->session->setting->get("preventProxyCache") == 1 and !$skipPreventProxyCache) {
|
||||||
$url = $self->append($url,"noCache=".int(rand(1001)).':'.time());
|
$url = $self->append($url,"noCache=".int(rand(1001)).':'.time());
|
||||||
}
|
}
|
||||||
|
|
@ -260,7 +260,7 @@ sub getRefererUrl {
|
||||||
my $referer = $self->session->request->referer;
|
my $referer = $self->session->request->referer;
|
||||||
return undef unless ($referer);
|
return undef unless ($referer);
|
||||||
my $url = $referer;
|
my $url = $referer;
|
||||||
my $gateway = $self->session->config->get("gateway");
|
my $gateway = $self->session->request->base->path;
|
||||||
$url =~ s{https?://[A-Za-z0-9\.-]+$gateway/*([^?]*)\??.*$}{$1};
|
$url =~ s{https?://[A-Za-z0-9\.-]+$gateway/*([^?]*)\??.*$}{$1};
|
||||||
if ($url eq $referer) { ##s/// failed
|
if ($url eq $referer) { ##s/// failed
|
||||||
return undef;
|
return undef;
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,6 @@ my @getRefererUrlTests = (
|
||||||
);
|
);
|
||||||
|
|
||||||
use Test::More;
|
use Test::More;
|
||||||
plan tests => 84 + scalar(@getRefererUrlTests);
|
|
||||||
|
|
||||||
my $session = WebGUI::Test->session;
|
my $session = WebGUI::Test->session;
|
||||||
my $request = $session->request;
|
my $request = $session->request;
|
||||||
|
|
@ -193,11 +192,6 @@ is( $session->url->makeCompliant($character), $character, 'utf8 allowed in URLs'
|
||||||
my $setUri = sub {
|
my $setUri = sub {
|
||||||
$request->env->{PATH_INFO} = $_[0];
|
$request->env->{PATH_INFO} = $_[0];
|
||||||
};
|
};
|
||||||
$session->{_request} = undef;
|
|
||||||
|
|
||||||
is($session->url->getRequestedUrl, undef, 'getRequestedUrl returns undef unless it has a request object');
|
|
||||||
|
|
||||||
$session->{_request} = $request;
|
|
||||||
|
|
||||||
$setUri->('empty');
|
$setUri->('empty');
|
||||||
is($session->request->uri, 'http://devsite.com/empty', 'Validate Mock Object operation');
|
is($session->request->uri, 'http://devsite.com/empty', 'Validate Mock Object operation');
|
||||||
|
|
@ -206,14 +200,10 @@ $setUri->('full');
|
||||||
is($session->request->uri, 'http://devsite.com/full', 'Validate Mock Object operation #2');
|
is($session->request->uri, 'http://devsite.com/full', 'Validate Mock Object operation #2');
|
||||||
|
|
||||||
$setUri->('/path1/file1');
|
$setUri->('/path1/file1');
|
||||||
is($session->url->getRequestedUrl, 'path1/file1', 'getRequestedUrl, fetch');
|
is($session->url->getRequestedUrl, '/path1/file1', 'getRequestedUrl, fetch');
|
||||||
|
|
||||||
$setUri->('/path2/file2');
|
$setUri->('/path2/file2');
|
||||||
is($session->url->getRequestedUrl, 'path1/file1', 'getRequestedUrl, check cache of previous result');
|
is($session->url->getRequestedUrl, '/path1/file1', 'getRequestedUrl, check cache of previous result');
|
||||||
|
|
||||||
$session->url->{_requestedUrl} = undef; ##Manually clear cached value
|
|
||||||
$setUri->('/path2/file2?param1=one;param2=two');
|
|
||||||
is($session->url->getRequestedUrl, 'path2/file2', 'getRequestedUrl, does not return params');
|
|
||||||
|
|
||||||
$session->url->{_requestedUrl} = undef;
|
$session->url->{_requestedUrl} = undef;
|
||||||
my $utf8_url = "Viel Spa\x{00DF}";
|
my $utf8_url = "Viel Spa\x{00DF}";
|
||||||
|
|
@ -398,11 +388,9 @@ TODO: {
|
||||||
ok(0, 'test a child of the media folder');
|
ok(0, 'test a child of the media folder');
|
||||||
}
|
}
|
||||||
|
|
||||||
my $versionTag = WebGUI::VersionTag->getWorking($session);
|
|
||||||
WebGUI::Test->addToCleanup($versionTag);
|
|
||||||
my $parentAsset = WebGUI::Asset->getRoot($session);
|
my $parentAsset = WebGUI::Asset->getRoot($session);
|
||||||
my $statefulAsset = $parentAsset->addChild({ className => 'WebGUI::Asset::Snippet' });
|
my $statefulAsset = $parentAsset->addChild({ className => 'WebGUI::Asset::Snippet' });
|
||||||
$versionTag->commit;
|
WebGUI::Test->addToCleanup($statefulAsset);
|
||||||
$statefulAsset = $statefulAsset->cloneFromDb;
|
$statefulAsset = $statefulAsset->cloneFromDb;
|
||||||
$session->asset($statefulAsset);
|
$session->asset($statefulAsset);
|
||||||
|
|
||||||
|
|
@ -468,3 +456,4 @@ ok($session->url->forceSecureConnection(), 'forced secure connection with no url
|
||||||
ok($session->http->isRedirect, '... and redirect status code was set');
|
ok($session->http->isRedirect, '... and redirect status code was set');
|
||||||
is($session->response->location, $secureUrl, '... and redirect status code was set');
|
is($session->response->location, $secureUrl, '... and redirect status code was set');
|
||||||
|
|
||||||
|
done_testing;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue