Вход Регистрация
Файл: sngine-v2.8/Script/includes/libs/PayPal/paypal/rest-api-sdk-php/lib/PayPal/Transport/PayPalRestCall.php
Строк: 98
<?php
namespace PayPalTransport;

use 
PayPalCorePayPalHttpConfig;
use 
PayPalCorePayPalHttpConnection;
use 
PayPalCorePayPalLoggingManager;
use 
PayPalRestApiContext;

/**
 * Class PayPalRestCall
 *
 * @package PayPalTransport
 */
class PayPalRestCall
{


    
/**
     * Paypal Logger
     *
     * @var PayPalLoggingManager logger interface
     */
    
private $logger;

    
/**
     * API Context
     *
     * @var ApiContext
     */
    
private $apiContext;


    
/**
     * Default Constructor
     *
     * @param ApiContext $apiContext
     */
    
public function __construct(ApiContext $apiContext)
    {
        
$this->apiContext $apiContext;
        
$this->logger PayPalLoggingManager::getInstance(__CLASS__);
    }

    
/**
     * @param array  $handlers Array of handlers
     * @param string $path     Resource path relative to base service endpoint
     * @param string $method   HTTP method - one of GET, POST, PUT, DELETE, PATCH etc
     * @param string $data     Request payload
     * @param array  $headers  HTTP headers
     * @return mixed
     * @throws PayPalExceptionPayPalConnectionException
     */
    
public function execute($handlers = array(), $path$method$data ''$headers = array())
    {
        
$config $this->apiContext->getConfig();
        
$httpConfig = new PayPalHttpConfig(null$method$config);
        
$headers $headers $headers : array();
        
$httpConfig->setHeaders($headers +
            array(
                
'Content-Type' => 'application/json'
            
)
        );

        
// if proxy set via config, add it
        
if (!empty($config['http.Proxy'])) {
            
$httpConfig->setHttpProxy($config['http.Proxy']);
        }

        
/** @var PaypalHandlerIPayPalHandler $handler */
        
foreach ($handlers as $handler) {
            if (!
is_object($handler)) {
                
$fullHandler "\" . (string)$handler;
                
$handler = new $fullHandler($this->apiContext);
            }
            
$handler->handle($httpConfig$data, array('path' => $path, 'apiContext' => $this->apiContext));
        }
        
$connection = new PayPalHttpConnection($httpConfig$config);
        
$response = $connection->execute($data);

        return 
$response;
    }
}
Онлайн: 1
Реклама