Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
UpdateCommand.php
Go to the documentation of this file.
1 <?php
7 
15 use Psr\Log\LoggerInterface;
16 
21 {
25  private $updateUrlPath = 'analytics/url/update';
26 
30  private $analyticsToken;
31 
35  private $httpClient;
36 
40  private $config;
41 
45  private $logger;
46 
50  private $flagManager;
51 
55  private $responseResolver;
56 
65  public function __construct(
66  AnalyticsToken $analyticsToken,
67  Http\ClientInterface $httpClient,
68  ScopeConfigInterface $config,
69  LoggerInterface $logger,
70  FlagManager $flagManager,
71  ResponseResolver $responseResolver
72  ) {
73  $this->analyticsToken = $analyticsToken;
74  $this->httpClient = $httpClient;
75  $this->config = $config;
76  $this->logger = $logger;
77  $this->flagManager = $flagManager;
78  $this->responseResolver = $responseResolver;
79  }
80 
86  public function execute()
87  {
88  $result = false;
89  if ($this->analyticsToken->isTokenExist()) {
90  $response = $this->httpClient->request(
91  ZendClient::PUT,
92  $this->config->getValue($this->updateUrlPath),
93  [
94  "url" => $this->flagManager
96  "new-url" => $this->config->getValue(Store::XML_PATH_SECURE_BASE_URL),
97  "access-token" => $this->analyticsToken->getToken(),
98  ]
99  );
100  $result = $this->responseResolver->getResult($response);
101  if (!$result) {
102  $this->logger->warning(
103  sprintf(
104  'Update of the subscription for MBI service has been failed: %s. Content-Type: %s',
105  !empty($response->getBody()) ? $response->getBody() : 'Response body is empty',
106  $response->getHeader('Content-Type')
107  )
108  );
109  }
110  }
111 
112  return (bool)$result;
113  }
114 }
$response
Definition: 404.php:11
$config
Definition: fraud_order.php:17
$logger
__construct(AnalyticsToken $analyticsToken, Http\ClientInterface $httpClient, ScopeConfigInterface $config, LoggerInterface $logger, FlagManager $flagManager, ResponseResolver $responseResolver)