Fix the same problem with form params in getRequestedUrl as in
getRefererUrl and add tests to detect it.
This commit is contained in:
parent
eea7b941c9
commit
86a5cb9128
2 changed files with 9 additions and 3 deletions
|
|
@ -212,7 +212,7 @@ sub getRequestedUrl {
|
|||
unless ($self->{_requestedUrl}) {
|
||||
$self->{_requestedUrl} = $self->session->request->uri;
|
||||
my $gateway = $self->session->config->get("gateway");
|
||||
$self->{_requestedUrl} =~ s/^$gateway(.*)$/$1/;
|
||||
$self->{_requestedUrl} =~ s/^$gateway([^?]*)\??.*$/$1/;
|
||||
}
|
||||
return $self->{_requestedUrl};
|
||||
}
|
||||
|
|
@ -367,7 +367,7 @@ sub session {
|
|||
|
||||
=head2 setSiteURL ( )
|
||||
|
||||
Sets an alternate site url.
|
||||
Sets an alternate site url for this session variable.
|
||||
|
||||
=cut
|
||||
|
||||
|
|
|
|||
|
|
@ -134,6 +134,12 @@ is ($session->url->getRequestedUrl, 'path1/file1', 'getRequestedUrl, fetch');
|
|||
$requestedUrl = '/path2/file2';
|
||||
is ($session->url->getRequestedUrl, 'path1/file1', 'getRequestedUrl, check cache of previous result');
|
||||
|
||||
$session->url->{_requestedUrl} = undef; ##Manually clear cached value
|
||||
$requestedUrl = '/path2/file2?param1=one;param2=two';
|
||||
is ($session->url->getRequestedUrl, 'path2/file2', 'getRequestedUrl, does not return params');
|
||||
|
||||
$session->url->{_requestedUrl} = undef; ##Manually clear cached value
|
||||
$requestedUrl = '/path1/file1';
|
||||
is ($session->url->page, '/path1/file1', 'page with no args returns getRequestedUrl through gateway');
|
||||
|
||||
$url2 = 'http://'.$session->config->get('sitename')->[0].'/path1/file1';
|
||||
|
|
@ -141,7 +147,7 @@ is ($session->url->page('',1), $url2, 'page, withFullUrl includes method and sit
|
|||
|
||||
##getReferrerUrl tests
|
||||
|
||||
our %mockEnv = (HTTP_REFERER => undef);
|
||||
our %mockEnv = %ENV;
|
||||
|
||||
$session->{_env}->{_env} = \%mockEnv;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue