analyticsToken = $analyticsToken; $this->httpClient = $httpClient; $this->config = $config; $this->logger = $logger; $this->flagManager = $flagManager; $this->responseResolver = $responseResolver; } /** * Executes update request to MBI api in case store url was changed * * @return bool */ public function execute() { $result = false; if ($this->analyticsToken->isTokenExist()) { $response = $this->httpClient->request( ZendClient::PUT, $this->config->getValue($this->updateUrlPath), [ "url" => $this->flagManager ->getFlagData(SubscriptionUpdateHandler::PREVIOUS_BASE_URL_FLAG_CODE), "new-url" => $this->config->getValue(Store::XML_PATH_SECURE_BASE_URL), "access-token" => $this->analyticsToken->getToken(), ] ); $result = $this->responseResolver->getResult($response); if (!$result) { $this->logger->warning( sprintf( 'Update of the subscription for MBI service has been failed: %s. Content-Type: %s', !empty($response->getBody()) ? $response->getBody() : 'Response body is empty', $response->getHeader('Content-Type') ) ); } } return (bool)$result; } }