forked from LiveCarta/PayPal-PHP-SDK
Renaming Namespaces and Organizing Classes
- Updated OpenId classes to be in API namespace - Updated PP Naming Convention to PayPal Naming Convention - FormatConverter Class got its own namespace - Handlers are grouped in Handler namespace - Samples and Tests Updated Accordingly
This commit is contained in:
79
lib/PayPal/Transport/PayPalRestCall.php
Normal file
79
lib/PayPal/Transport/PayPalRestCall.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
namespace PayPal\Transport;
|
||||
|
||||
use PayPal\Core\PayPalLoggingManager;
|
||||
use PayPal\Core\PayPalHttpConfig;
|
||||
use PayPal\Core\PayPalHttpConnection;
|
||||
use PayPal\Rest\ApiContext;
|
||||
|
||||
/**
|
||||
* Class PayPalRestCall
|
||||
*
|
||||
* @package PayPal\Transport
|
||||
*/
|
||||
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 \PayPal\Exception\PayPalConnectionException
|
||||
*/
|
||||
public function execute($handlers = array(), $path, $method, $data = '', $headers = array())
|
||||
{
|
||||
|
||||
$config = $this->apiContext->getConfig();
|
||||
$httpConfig = new PayPalHttpConfig(null, $method);
|
||||
$headers = $headers ? $headers : array();
|
||||
$httpConfig->setHeaders($headers +
|
||||
array(
|
||||
'Content-Type' => 'application/json'
|
||||
)
|
||||
);
|
||||
|
||||
/** @var \Paypal\Handler\IPayPalHandler $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;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user