55 */
66namespace Magento \PageCache \Model \Cache ;
77
8- use Zend \ Uri \ Uri ;
8+ use Magento \ Framework \ UrlInterface ;
99use Magento \Framework \App \DeploymentConfig ;
1010use Magento \Framework \Config \ConfigOptionsListConstants ;
1111use Magento \Framework \App \RequestInterface ;
12+ use Zend \Uri \Uri ;
1213use Zend \Uri \UriFactory ;
1314
1415class 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