/** * @see ClientInterface * * @throws ClientException If file_get_contents() fires an error */ public function send(RequestInterface $request, MessageInterface $response) { $context = stream_context_create($this->getStreamContextArray($request)); $url = $request->getHost() . $request->getResource(); $level = error_reporting(0); $content = file_get_contents($url, 0, $context); error_reporting($level); if (false === $content) { $error = error_get_last(); $e = new RequestException($error['message']); $e->setRequest($request); throw $e; } $response->setHeaders($this->filterHeaders((array) $http_response_header)); $response->setContent($content); }
public function send(RequestInterface $request, MessageInterface $response, array $options = array()) { if (is_resource($this->lastCurl)) { curl_close($this->lastCurl); } $this->lastCurl = static::createCurlHandle(); $this->prepare($this->lastCurl, $request, $options); $data = curl_exec($this->lastCurl); if (false === $data) { $errorMsg = curl_error($this->lastCurl); $errorNo = curl_errno($this->lastCurl); $e = new RequestException($errorMsg, $errorNo); $e->setRequest($request); throw $e; } static::populateResponse($this->lastCurl, $data, $response); }
/** * @parem string $controller * @param Request $request * @param array $qs * * @throws RequestException * * @return JsonResponse */ protected function doRequest($controller, Request $request, array $qs = array()) { $request->fromUrl($this->getApiEndpoint($controller) . '?' . http_build_query($qs)); $request->addHeader('Authorization: Basic ' . $this->options['key']); $request->addHeader('Accept: text/json'); $this->client->send($request, $response = new JsonResponse()); $content = $response->getContentJson(true); if (!in_array($content['ReturnCode'], array(self::EXECCODE_SUCCESS, self::EXECCODE_OPERATION_REFUSED))) { $e = new RequestException(print_r(array_merge($content, array('url' => $request->getUrl(), 'content' => $request->getContent())), true)); $e->setRequest($request); throw $e; } return $response; }