/** * @param RequestInterface $request * @param CredentialsInterface $credentials * * @return Response * @throws ClientException */ public function send(RequestInterface $request, CredentialsInterface $credentials) { $response = new Response(); try { $this->curlClient->send($request, $response, $this->getOptions($credentials)); } catch (\Exception $exception) { $this->logException($exception); throw new ClientException(sprintf('Exception %s occurred with message: "%s"', get_class($exception), $exception->getMessage()), $exception->getCode(), $exception); } return $response; }
/** * Plumbery method to request webdriver server. * * @param string $verb HTTP method to use (GET, POST, DELETE) * @param string $path Relative URL to server, without prefix "/" * @param string $content Content of request * @param array $headers Additional HTTP headers */ public function request($verb, $path, $content = null, array $headers = array()) { $url = $this->url . $path; $request = new Request($verb, $url); $request->setContent($content); $response = new Response(); $this->client->send($request, $response); $response->setContent(str_replace("", "", $response->getContent())); $this->verifyResponse($response); return $response; }
/** * {@inheritdoc} */ public function executeValidation(ClientInterface $client, BuzzRequest $request, $credentials) { $response = new BuzzResponse(); $client->send($request, $response); switch ($this->config['version']) { case 1: return new PlainValidation($response, $credentials); case 2: return new XmlValidation($response, $credentials); } throw new InvalidConfigurationException('Version should either be 1 or 2.'); }
/** * {@inheritdoc} */ public function sendRequest(RequestInterface $request) { $this->assertRequestHasValidBody($request); $buzzRequest = $this->createRequest($request); try { $buzzResponse = new BuzzResponse(); $this->client->send($buzzRequest, $buzzResponse); } catch (BuzzException\RequestException $e) { throw new HttplugException\RequestException($e->getMessage(), $request, $e); } catch (BuzzException\ClientException $e) { throw new HttplugException\TransferException($e->getMessage(), 0, $e); } return $this->createResponse($buzzResponse); }
/** * @param $postalCode * @param null $number * @return array * @throws \RuntimeException */ public function find($postalCode, $number = null) { $request = clone $this->apiClient->getHttpRequest(); $params = array($postalCode); if (null !== $number) { $params[] = $number; } $request->setResource('/' . implode('/', $params)); $response = new Message\Response(); $this->client->send($request, $response); if ($response->getStatusCode() != 200) { throw new \RuntimeException(sprintf('Request failed with response code: %s', $response->getStatusCode())); } return $response->getData()->resource; }
/** * Performs an HTTP request * * @param string $url The url to fetch * @param string $method The HTTP method to use * @return string The response content */ protected function httpRequest($url, $method = HttpRequest::METHOD_GET) { $request = new HttpRequest($method, $url); $response = new HttpResponse(); $this->httpClient->send($request, $response); return $response->getContent(); }
/** * @param string $method * @param array $parameters * @return ResponseInterface|false Content of server response */ public function request(RequestInterface $method) { $parameters = $method->handleRequest($this->config); $query = str_replace(' ', '+', http_build_query($parameters)); $resource = sprintf('/_s/%s?%s', $method->getEndpoint(), $query); $response = new Response(); $request = new Request('GET', $resource, $this->getEndpoint()); $this->client->send($request, $response); if (!$response->isSuccessful()) { return false; } $data = (array) simplexml_load_string($response->getContent()); $content = static::normalizeArray($data); $response = $method->handleResponse($content); return $response; }
/** * @param array $notification * * @return string */ public function notifyValidate(array $notification) { $request = new FormRequest(); $request->setField('cmd', self::CMD_NOTIFY_VALIDATE); $request->addFields($notification); $request->setMethod('POST'); $request->fromUrl($this->getIpnEndpoint()); $response = new Response(); $this->client->send($request, $response); if (false == $response->isSuccessful()) { throw HttpException::factory($request, $response); } if (self::NOTIFY_VERIFIED === $response->getContent()) { return self::NOTIFY_VERIFIED; } return self::NOTIFY_INVALID; }
/** * Get suggestions for the given query * * @param string $query * @return SuggestionCollection */ public function getSuggestions($query) { $request = new Request('GET', $this->buildUrl(array('q' => $query))); $response = new Response(); $this->client->send($request, $response); $results = new XMLSuggestions($response->getContent()); return new SuggestionCollection($results->asArray()); }
/** * @param \Buzz\Message\Form\FormRequest $request * * @throws \Payum\Core\Exception\Http\HttpException * * @return \Payum\Core\Bridge\Buzz\JsonResponse */ protected function doRequest(FormRequest $request) { $request->setMethod('POST'); $request->fromUrl($this->getApiEndpoint()); $this->client->send($request, $response = new JsonResponse()); if (false == $response->isSuccessful()) { throw HttpException::factory($request, $response); } return $response; }
/** * Performs an HTTP request * * @param string $url The url to fetch * @param string $content The content of the request * @param string $method The HTTP method to use * * @return string The response content */ protected function httpRequest($url, $content = null, $method = null) { if (null === $method) { $method = null === $content ? HttpRequest::METHOD_GET : HttpRequest::METHOD_POST; } $request = new HttpRequest($method, $url); $response = new HttpResponse(); $request->setContent($content); $this->httpClient->send($request, $response); return $response; }
/** * Performs an HTTP request * * @param string $url The url to fetch * @param string $content The content of the request * @param array $headers The headers of the request * @param string $method The HTTP method to use * * @return HttpResponse The response content */ protected function httpRequest($url, $content = null, $headers = array(), $method = null) { if (null === $method) { $method = null === $content ? HttpRequestInterface::METHOD_GET : HttpRequestInterface::METHOD_POST; } $request = new HttpRequest($method, $url); $response = new HttpResponse(); $headers = array_merge(array('User-Agent: HWIOAuthBundle (https://github.com/hwi/HWIOAuthBundle)'), $headers); $request->setHeaders($headers); $request->setContent($content); $this->httpClient->send($request, $response); return $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; }
protected function call() { $this->request->setMethod($this->call->getMethod()); $this->request->setHost($this->call->getRequestPartBase()); $this->request->setResource($this->call->getRequestPartUri()); $this->request->setHeaders($this->headers->getHeaders()); if ($this->call->getFormattedBody()) { $this->request->setContent($this->call->getFormattedBody()); } $this->client->setIgnoreErrors(true); $this->client->setVerifyPeer($this->configuration->getVerifyPeer()); $this->client->setMaxRedirects(0); $this->client->setTimeout(60); $this->client->send($this->request, $this->response); }
/** * Code below is borrowed from HWIOAuthBundle * * @see HWI\Bundle\OAuthBundle\OAuth\ResourceOwner\GenericOAuth1ResourceOwner */ private function httpRequest($url, $content = null, $parameters = array(), $headers = array(), $method) { $authorization = 'Authorization: OAuth'; foreach ($parameters as $key => $value) { $value = rawurlencode($value); $authorization .= ", {$key}=\"{$value}\""; } $headers[] = $authorization; $request = new Request($method, $url); $response = new Response(); $request->setHeaders($headers); $request->setContent($content); $this->httpClient->send($request, $response); return $response; }
/** * Performs an HTTP request * * @param string $url The url to fetch * @param string|array $content The content of the request * @param array $headers The headers of the request * @param string $method The HTTP method to use * * @return HttpResponse The response content */ protected function httpRequest($url, $content = null, $headers = array(), $method = null) { if (null === $method) { $method = null === $content ? HttpRequestInterface::METHOD_GET : HttpRequestInterface::METHOD_POST; } $request = new HttpRequest($method, $url); $response = new HttpResponse(); $contentLength = 0; if (is_string($content)) { $contentLength = strlen($content); } elseif (is_array($content)) { $contentLength = strlen(implode('', $content)); } $headers = array_merge(array('User-Agent: HWIOAuthBundle (https://github.com/hwi/HWIOAuthBundle)', 'Content-Length: ' . $contentLength), $headers); $request->setHeaders($headers); $request->setContent($content); $this->httpClient->send($request, $response); return $response; }
/** * {@inheritDoc} */ public function request($endpoint, $params = array(), $method = 'GET', array $headers = array()) { $request = $this->createRequest($method, $endpoint); // add a default content-type if none was set if (in_array(strtoupper($method), array('POST', 'PUT')) && empty($headers['Content-Type'])) { $headers['Content-Type'] = 'application/x-www-form-urlencoded'; } if (!empty($headers)) { $request->addHeaders($headers); } if (!empty($params)) { $request->setContent(is_array($params) ? http_build_query($params) : $params); } $response = is_object($this->responseObj) ? $this->responseObj : new Response(); $this->executeListeners($request, 'preSend'); $this->client->send($request, $response); $this->executeListeners($request, 'postSend', $response); $this->lastRequest = $request; $this->lastResponse = $response; return $response; }
/** * @param $method * @param $relativeUrl * @param array|\stdClass $content * @return mixed */ protected function doHttpRequest($method, $relativeUrl, $content = null) { $relativeUrl = ltrim($relativeUrl, '/'); $response = new Response(); $request = new Request($method); $request->fromUrl($this->baseUrl . '/' . $relativeUrl); $request->addHeader("Content-Type: application/json"); $request->addHeader('Accept: application/json'); if ($content) { $request->setContent(json_encode(array_filter((array) $content))); } $timezone = new \DateTimeZone("UTC"); $datetime = new \DateTime(null, $timezone); $timestamp = str_replace('-', '', $datetime->format('c')); $nonce = uniqid(); $authToken = $this->makeAuthHeader($request, $timestamp, $nonce); $request->addHeader("Authorization: " . $authToken); // $listener = new BasicAuthListener($this->username, $this->password); // $listener->preSend($request); $this->httpClient->send($request, $response); return $this->getResult($response); }
/** * Performs an HTTP request * * @param string $url The url to fetch * @param string|array $content The content of the request * @param array $headers The headers of the request * @param string $method The HTTP method to use * * @return HttpResponse The response content */ protected function httpRequest($url, $content = null, $headers = array(), $method = null) { if (null === $method) { $method = null === $content || '' === $content ? HttpRequestInterface::METHOD_GET : HttpRequestInterface::METHOD_POST; } $request = new HttpRequest($method, $url); $response = new HttpResponse(); $contentLength = 0; if (is_string($content)) { $contentLength = strlen($content); } elseif (is_array($content)) { $contentLength = strlen(implode('', $content)); } $headers = array_merge(array('User-Agent: HWIOAuthBundle (https://github.com/hwi/HWIOAuthBundle)', 'Content-Length: ' . $contentLength), $headers); $request->setHeaders($headers); $request->setContent($content); try { $this->httpClient->send($request, $response); } catch (ClientException $e) { throw new HttpTransportException('Error while sending HTTP request', $this->getName(), $e->getCode(), $e); } return $response; }
/** * @param FormRequest $request * * @throws HttpException * * @return array */ protected function doRequest(FormRequest $request) { $request->setMethod('POST'); $request->fromUrl($this->getApiEndpoint()); $this->client->send($request, $response = new Response()); if (false == $response->isSuccessful()) { throw HttpException::factory($request, $response); } $result = array(); parse_str($response->getContent(), $result); foreach ($result as &$value) { $value = urldecode($value); } return $result; }
/** * @return HttpResponse */ public function sendHttpRequest(HttpRequest $request) { $response = new HttpResponse(); $this->httpClient->send($request, $response); return $response; }
/** * @param Request $request * @param Response $response * @param array $options * *@return Response */ public function send(Request $request, Response $response, array $options = array()) { $this->setupAuth($request); $this->_client->send($request, $response, $options); return $response; }
/** * @param ClientInterface $client */ public function setClient($client) { $this->client = $client; $this->client->setTimeout($this->options['timeout']); $this->client->setVerifyPeer(0); }
private function send(ClientInterface $client, RequestInterface $request) { $response = new Response(); $client->send($request, $response); if ($client instanceof BatchClientInterface) { $client->flush(); } return $response; }