Beispiel #1
0
 /**
  * @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.');
 }
Beispiel #4
0
 /**
  * {@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);
 }
Beispiel #5
0
 /**
  * @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();
 }
Beispiel #7
0
 /**
  * @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;
 }
Beispiel #8
0
 /**
  * @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());
 }
Beispiel #10
0
 /**
  * @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;
 }
Beispiel #13
0
 /**
  * @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;
 }
Beispiel #14
0
 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;
 }
Beispiel #20
0
    /**
     * @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;
    }
Beispiel #21
0
 /**
  * @return HttpResponse
  */
 public function sendHttpRequest(HttpRequest $request)
 {
     $response = new HttpResponse();
     $this->httpClient->send($request, $response);
     return $response;
 }
Beispiel #22
0
 /**
 * @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;
 }
Beispiel #23
0
 /**
  * @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;
 }