Sid Gifari From Gifari Industries - BD Cyber Security Team
Home
/
home
/
drleilu
/
www
/
wp-content
/
plugins
/
wpforms-lite
/
vendor_prefixed
/
square
/
square
/
src
/
Http
/
✏️
Editing: ApiResponse.php
<?php declare (strict_types=1); namespace WPForms\Vendor\Square\Http; use WPForms\Vendor\Core\Types\Sdk\CoreApiResponse; use WPForms\Vendor\Square\ApiHelper; use WPForms\Vendor\Square\Models\Error; /** * Holds the result of an API call. */ class ApiResponse extends CoreApiResponse { /** * Create a new instance of this class with the given context and result. * * @param mixed $decodedBody Decoded response body * @param mixed $result Deserialized result from the response * @param HttpContext $context Http context */ public static function createFromContext($decodedBody, $result, HttpContext $context) : self { $request = $context->getRequest(); $statusCode = $context->getResponse()->getStatusCode(); $reasonPhrase = null; // TODO $headers = $context->getResponse()->getHeaders(); $body = $context->getResponse()->getRawBody(); if (!\is_array($decodedBody)) { $decodedBody = (array) $decodedBody; } $cursor = $decodedBody['cursor'] ?? null; $errors = []; if ($statusCode >= 400 && $statusCode < 600) { if (isset($decodedBody['errors'])) { $errors = ApiHelper::getJsonHelper()->mapClass($decodedBody['errors'], Error::class, 1); } else { $error = new Error('V1_ERROR', $decodedBody['type'] ?? 'Unknown'); $error->setDetail($decodedBody['message'] ?? null); $error->setField($decodedBody['field'] ?? null); $errors = [$error]; } } return new self($request, $statusCode, $reasonPhrase, $headers, $result, $body, $errors, $cursor); } /** * @var Error[] */ private $errors; /** * @var mixed */ private $cursor; /** * @param HttpRequest $request * @param int|null $statusCode * @param string|null $reasonPhrase * @param array|null $headers * @param mixed $result * @param mixed $body * @param Error[] $errors * @param mixed $cursor */ public function __construct(HttpRequest $request, ?int $statusCode, ?string $reasonPhrase, ?array $headers, $result, $body, array $errors, $cursor) { parent::__construct($request, $statusCode, $reasonPhrase, $headers, $result, $body); $this->errors = $errors; $this->cursor = $cursor; } /** * Returns the errors if any. * * @return Error[] */ public function getErrors() : array { return $this->errors; } /** * Returns the pagination cursor. * * @return mixed */ public function getCursor() { return $this->cursor; } /** * Returns the original request that resulted in this response. */ public function getRequest() : HttpRequest { return $this->request; } }
💾 Save
❌ Cancel