vendor/univapay/php-sdk/src/Univapay/Utility/RequesterUtils.php line 25

Open in your IDE?
  1. <?php
  2. namespace Univapay\Utility;
  3. use Univapay\Requests\RequestContext;
  4. use Univapay\Requests\Requester;
  5. use Univapay\Resources\Paginated;
  6. use Univapay\Resources\SimpleList;
  7. abstract class RequesterUtils
  8. {
  9.     public static function getHeaders(
  10.         RequestContext $requestContext,
  11.         bool $enableIdempotency false,
  12.         array $headers = []
  13.     ) {
  14.         return array_merge(
  15.             $requestContext->getAuthorizationHeaders(),
  16.             HttpUtils::getJsonHeader(),
  17.             $enableIdempotencyHttpUtils::getIdempotencyHeader(): [],
  18.             $headers
  19.         );
  20.     }
  21.     public static function executeGet($parserRequestContext $requestContext$query = [])
  22.     {
  23.         $response $requestContext->getRequester()->get(
  24.             $requestContext->getFullURL(),
  25.             $query,
  26.             self::getHeaders($requestContext)
  27.         );
  28.         return $parser::getSchema()->parse($response, [$requestContext]);
  29.     }
  30.     public static function executeGetPaginated($parserRequestContext $context$query = [])
  31.     {
  32.         $response $context->getRequester()->get($context->getFullURL(), $queryself::getHeaders($context));
  33.         return Paginated::fromResponse($response$query$parser$context);
  34.     }
  35.     public static function executePost(
  36.         $parser,
  37.         RequestContext $requestContext,
  38.         $payload = []
  39.     ) {
  40.         $response $requestContext->getRequester()->post(
  41.             $requestContext->getFullURL(),
  42.             $payload,
  43.             self::getHeaders($requestContexttrue)
  44.         );
  45.         if (is_null($parser)) {
  46.             return $response;
  47.         } else {
  48.             return $parser::getSchema()->parse($response, [$requestContext]);
  49.         }
  50.     }
  51.     public static function executePostSimpleList(
  52.         $parser,
  53.         RequestContext $requestContext,
  54.         $payload = []
  55.     ) {
  56.         $response $requestContext->getRequester()->post(
  57.             $requestContext->getFullURL(),
  58.             $payload,
  59.             self::getHeaders($requestContexttrue)
  60.         );
  61.         return SimpleList::fromResponse($response$parser$requestContext);
  62.     }
  63.     public static function executePatch(
  64.         $parser,
  65.         RequestContext $requestContext,
  66.         $payload = []
  67.     ) {
  68.         $response $requestContext->getRequester()->patch(
  69.             $requestContext->getFullURL(),
  70.             $payload,
  71.             self::getHeaders($requestContexttrue)
  72.         );
  73.         return $parser::getSchema()->parse($response, [$requestContext]);
  74.     }
  75.     public static function executeDelete(RequestContext $requestContext)
  76.     {
  77.         return $requestContext->getRequester()->delete(
  78.             $requestContext->getFullURL(),
  79.             self::getHeaders($requestContext)
  80.         );
  81.     }
  82. }