Magento Extensions Rating 2024
EXTENSIONS BY CATEGORY
B2B (Business-To-Business)
Blog
Customer
ERP (Enterprise Resource Planning)
Mega Menu
One Step Checkout
Order
POS (Point Of Sale)
Search
Shopping Cart
Sitemap
SEO
Social
Stock & Inventory Management
EXTENSIONS BY DEVELOPER
aheadWorks
Amasty
Boost My Shop
BSS Commerce
Magestore
MageWorx
Mirasvit
Templates Master
Wyomind
XTENTO
Magento 2 Documentation
Magento 2 Documentation
2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
vendor
magento
module-release-notification
Model
ContentProvider
Http
HttpContentProvider.php
Go to the documentation of this file.
1
<?php
7
namespace
Magento\ReleaseNotification\Model\ContentProvider\Http
;
8
9
use
Magento\ReleaseNotification\Model\ContentProviderInterface
;
10
use
Magento\Setup\Module\I18n\Locale
;
11
use Psr\Log\LoggerInterface;
12
use
Magento\Framework\HTTP\ClientInterface
;
13
17
class
HttpContentProvider
implements
ContentProviderInterface
18
{
22
private
$httpClient;
23
27
private
$logger;
28
32
private
$urlBuilder;
33
40
public
function
__construct
(
41
ClientInterface
$httpClient,
42
UrlBuilder
$urlBuilder,
43
LoggerInterface $logger
44
) {
45
$this->httpClient = $httpClient;
46
$this->urlBuilder = $urlBuilder;
47
$this->logger =
$logger
;
48
}
49
53
public
function
getContent
(
$version
,
$edition
, $locale)
54
{
55
$result
=
false
;
56
57
try
{
58
$result
= $this->retrieveContent(
$version
,
$edition
, $locale);
59
if
(!
$result
) {
60
$result
= $this->retrieveContent(
$version
,
$edition
,
Locale::DEFAULT_SYSTEM_LOCALE
);
61
if
(!
$result
) {
62
$result
= $this->retrieveContent(
$version
,
''
,
'default'
);
63
}
64
}
65
}
catch
(\Exception $e) {
66
$this->logger->warning(
67
sprintf(
68
'Failed to retrieve the release notification content. The response is: %s'
,
69
empty(
$result
) ?
'Response body is empty.'
:
$result
70
)
71
);
72
}
73
74
return
$result
;
75
}
76
85
private
function
retrieveContent(
$version
,
$edition
, $locale)
86
{
87
$url
= $this->urlBuilder->getUrl(
$version
,
$edition
, $locale);
88
return
empty(
$url
) ?
false
: $this->getResponse(
$url
);
89
}
90
97
private
function
getResponse(
$url
)
98
{
99
$this->httpClient->get(
$url
);
100
$responseBody = $this->httpClient->getBody();
101
102
if
($this->httpClient->getStatus() === 200 && !empty($responseBody)) {
103
return
$responseBody;
104
}
105
106
return
false
;
107
}
108
}
$result
$result
Definition:
product_configurable_not_available_rollback.php:26
Magento\ReleaseNotification\Model\ContentProvider\Http\HttpContentProvider
Definition:
HttpContentProvider.php:17
$url
$url
Definition:
query_redirect.php:14
$version
$version
Definition:
pre_composer_update_2.3.php:161
false
return false
Definition:
gallery.phtml:36
Magento\ReleaseNotification\Model\ContentProviderInterface
Definition:
ContentProviderInterface.php:12
$edition
foreach(array_keys($composerData['require']) as $requiredPackage) if(empty($edition)) if(!empty($opts['edition'])) $edition
Definition:
pre_composer_update_2.3.php:108
Magento\Setup\Module\I18n\Locale\DEFAULT_SYSTEM_LOCALE
const DEFAULT_SYSTEM_LOCALE
Definition:
Locale.php:16
$logger
$logger
Definition:
health_check.php:20
Magento\ReleaseNotification\Model\ContentProvider\Http\UrlBuilder
Definition:
UrlBuilder.php:13
Magento\Framework\HTTP\ClientInterface
Definition:
ClientInterface.php:15
Magento\ReleaseNotification\Model\ContentProvider\Http\HttpContentProvider\__construct
__construct(ClientInterface $httpClient, UrlBuilder $urlBuilder, LoggerInterface $logger)
Definition:
HttpContentProvider.php:40
Magento\Setup\Module\I18n\Locale
Definition:
Locale.php:11
Magento\ReleaseNotification\Model\ContentProvider\Http
Definition:
HttpContentProvider.php:7
Magento\ReleaseNotification\Model\ContentProvider\Http\HttpContentProvider\getContent
getContent($version, $edition, $locale)
Definition:
HttpContentProvider.php:53