/** * Perform Request * * @param AbstractEndpoint $endpoint The Endpoint to perform this request against * * @throws Missing404Exception * @throws RoutingMissingException */ public static function performRequest(AbstractEndpoint $endpoint, Transport $transport) { try { $response = $transport->performRequest($endpoint->getMethod(), $endpoint->getURI(), $endpoint->getParams(), $endpoint->getBody(), $endpoint->getOptions()); $response = $transport->resultOrFuture($response, $endpoint->getOptions()); if (!$response instanceof FutureArrayInterface) { if ($response['status'] === 200) { return true; } else { return false; } } else { // async mode, can't easily resolve this...punt to user return $response; } } catch (Missing404Exception $exception) { return false; } catch (RoutingMissingException $exception) { return false; } }
/** * @param $endpoint AbstractEndpoint * * @throws \Exception * @return array */ private function performRequest(AbstractEndpoint $endpoint) { $promise = $this->transport->performRequest($endpoint->getMethod(), $endpoint->getURI(), $endpoint->getParams(), $endpoint->getBody(), $endpoint->getOptions()); return $this->transport->resultOrFuture($promise, $endpoint->getOptions()); }