/**
  * {@inheritdoc}
  */
 public function put($url, array $headers = array(), $content = '')
 {
     $options = array('headers' => $headers, 'body' => $content);
     $request = $this->client->put($url, $options);
     $this->response = $request;
     return $this->response->getBody();
 }
 /**
  * Execute an operaction
  *
  * A successful operation will return result as an array.
  * An unsuccessful operation will return null.
  *
  * @param  OperationInterface $op
  * @return array|null
  */
 public function execute(OperationInterface $op)
 {
     try {
         if ($op instanceof DeleteOperationInterface) {
             $response = $this->httpClient->delete($op->getEndpoint(), ['headers' => $op->getHeaders()]);
         } elseif ($op instanceof PostOperationInterface) {
             $response = $this->httpClient->post($op->getEndpoint(), ['headers' => $op->getHeaders(), 'body' => $op->getData()]);
         } elseif ($op instanceof PatchOperationInterface) {
             $response = $this->httpClient->patch($op->getEndpoint(), ['headers' => $op->getHeaders(), 'body' => $op->getData()]);
         } elseif ($op instanceof PutOperationInterface) {
             $response = $this->httpClient->put($op->getEndpoint(), ['headers' => $op->getHeaders(), 'body' => $op->getData()]);
         } else {
             $response = $this->httpClient->get($op->getEndpoint());
         }
     } catch (GuzzleHttp\Exception\ClientException $e) {
         throw new Exception\ClientException('ClientException occurred in request to Orchestrate: ' . $e->getMessage(), $e->getCode(), $e);
     } catch (GuzzleHttp\Exception\ServerException $e) {
         throw new Exception\ServerException('ServerException occurred in request to Orchestrate: ' . $e->getMessage(), $e->getCode(), $e);
     }
     $refLink = null;
     $location = null;
     if ($response->hasHeader('ETag')) {
         $refLink = str_replace('"', '', $response->getHeaderLine('ETag'));
     } elseif ($response->hasHeader('Link')) {
         $refLink = str_replace(['<', '>; rel="next"'], ['', ''], $response->getHeaderLine('Link'));
     }
     if ($response->hasHeader('Location')) {
         $location = $response->getHeaderLine('Location');
     }
     $rawValue = $response->getBody(true);
     $value = json_decode($rawValue, true);
     return $op->getObjectFromResponse($refLink, $location, $value, $rawValue);
 }
示例#3
0
 /**
  * {@inheritdoc}
  */
 public function put($url, $content = '')
 {
     $options = [];
     $options['body'] = $content;
     try {
         $this->response = $this->client->put($url, $options);
     } catch (RequestException $e) {
         $this->response = $e->getResponse();
         $this->handleError();
     }
     return $this->response->getBody();
 }
 /**
  * {@inheritDoc}
  */
 public function put(Request $request)
 {
     $response = null;
     try {
         $response = $this->client->put($request->getPath(), array_merge(['body' => $request->getBody()], $this->getConfiguration($request)));
     } catch (RequestException $e) {
         $this->handleRequestException($request, $e);
     }
     return $this->createResponse($response);
 }
示例#5
0
 /**
  * {@inheritdoc}
  */
 public function put($url = null, array $headers = [], $content = null)
 {
     try {
         // http://guzzle.readthedocs.org/en/latest/clients.html#request-options
         $options = array('headers' => $headers, 'body' => $content);
         $response = $this->guzzleClient->put($url, $options);
     } catch (\Exception $e) {
         throw new RequestException($e->getMessage(), $e->getCode(), $e);
     }
     return new Response($response->getStatusCode(), $response->getHeaders(), (string) $response->getBody());
 }
示例#6
0
 /**
  * {@inheritdoc }
  */
 public function put($url, array $body)
 {
     return $this->httpClient->put($url, ['body' => $body]);
 }