Skip to content

Commit 4a3e7d3

Browse files
David AlgerIgor Melnikov
authored andcommitted
Resolves #2705: add explicit set of path component to generated request uris
1 parent bf11e2e commit 4a3e7d3

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

app/code/Magento/PageCache/Model/Cache/Server.php

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,17 @@
55
*/
66
namespace Magento\PageCache\Model\Cache;
77

8-
use Zend\Uri\Uri;
8+
use Magento\Framework\UrlInterface;
99
use Magento\Framework\App\DeploymentConfig;
1010
use Magento\Framework\Config\ConfigOptionsListConstants;
1111
use Magento\Framework\App\RequestInterface;
12+
use Zend\Uri\Uri;
1213
use Zend\Uri\UriFactory;
1314

1415
class Server
1516
{
1617
/**
17-
* @var \Magento\Framework\UrlInterface
18+
* @var UrlInterface
1819
*/
1920
protected $urlBuilder;
2021

@@ -33,12 +34,12 @@ class Server
3334
/**
3435
* Constructor
3536
*
36-
* @param \Magento\Framework\UrlInterface $urlBuilder
37+
* @param UrlInterface $urlBuilder
3738
* @param DeploymentConfig $config
3839
* @param RequestInterface $request
3940
*/
4041
public function __construct(
41-
\Magento\Framework\UrlInterface $urlBuilder,
42+
UrlInterface $urlBuilder,
4243
DeploymentConfig $config,
4344
RequestInterface $request
4445
) {
@@ -56,21 +57,25 @@ public function getUris()
5657
{
5758
$servers = [];
5859
$configuredHosts = $this->config->get(ConfigOptionsListConstants::CONFIG_PATH_CACHE_HOSTS);
59-
if (null == $configuredHosts) {
60-
$httpHost = $this->request->getHttpHost();
61-
$servers[] = $httpHost ?
62-
UriFactory::factory('')->setHost($httpHost)->setPort(self::DEFAULT_PORT)->setScheme('http') :
63-
UriFactory::factory($this->urlBuilder->getUrl('*', ['_nosid' => true])) // Don't use SID in building URL
64-
->setScheme('http')
65-
->setPath(null)
66-
->setQuery(null);
6760

68-
} else {
61+
if (is_array($configuredHosts)) {
6962
foreach ($configuredHosts as $host) {
70-
$servers[] = UriFactory::factory('')->setHost($host['host'])
63+
$servers[] = UriFactory::factory('')
64+
->setHost($host['host'])
7165
->setPort(isset($host['port']) ? $host['port'] : self::DEFAULT_PORT)
72-
->setScheme('http');
66+
;
7367
}
68+
} elseif ($this->request->getHttpHost()) {
69+
$servers[] = UriFactory::factory('')->setHost($this->request->getHttpHost())->setPort(self::DEFAULT_PORT);
70+
} else {
71+
$servers[] = UriFactory::factory($this->urlBuilder->getUrl('*', ['_nosid' => true]));
72+
}
73+
74+
foreach ($servers as $key => $value) {
75+
$servers[$key]->setScheme('http')
76+
->setPath('/')
77+
->setQuery(null)
78+
;
7479
}
7580
return $servers;
7681
}

0 commit comments

Comments
 (0)