/**
  * @param Request         $request
  * @param \Exception|null $previous
  */
 public function __construct(Request $request, \Exception $previous = null)
 {
     $this->request = $request;
     if (null !== $previous && is_a($previous, 'GuzzleHttp\\Exception\\RequestException')) {
         $message = sprintf('The request to path "%s" with query parameters "%s" failed to return a valid response. The previous exception reported "%s" at "%s:%d".', $request->getPath(), json_encode($request->getParameters()->all()), $previous->getMessage(), $previous->getFile(), $previous->getLine());
     } else {
         $message = sprintf('The request to path "%s" with query parameters "%s" failed to return a valid response.', $request->getPath(), json_encode($request->getParameters()->all()));
     }
     parent::__construct($message, 0, $previous);
 }
Exemplo n.º 2
0
 /**
  * {@inheritDoc}
  */
 public function head(Request $request)
 {
     $response = null;
     try {
         $response = $this->client->head($request->getPath(), $this->getConfiguration($request));
     } catch (RequestException $e) {
         $this->handleRequestException($request, $e);
     }
     return $this->createResponse($response);
 }
Exemplo n.º 3
0
 /**
  * Get the expected request that will deliver a response
  *
  * @param $path
  * @param  array   $parameters
  * @param  string  $method
  * @param  array   $headers
  * @param  null    $body
  * @return Request
  */
 protected function getRequest($path, $parameters = [], $method = 'GET', $headers = [], $body = null)
 {
     if ($method == 'POST' || $method == 'PUT' || $method == 'PATCH' || $method == 'DELETE') {
         $headers['Content-Type'] = 'application/json';
     }
     $parameters['api_key'] = 'abcdef';
     $headers['Accept'] = 'application/json';
     $headers['User-Agent'] = sprintf('wtfzdotnet/php-tmdb-api (v%s)', Client::VERSION);
     $request = new Request($path, $method, new ParameterBag($parameters), new ParameterBag($headers));
     $request->setOptions(new ParameterBag(['token' => new ApiToken('abcdef'), 'secure' => true, 'cache' => ['enabled' => true, 'handler' => new FilesystemCache(sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'php-tmdb-api'), 'path' => sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'php-tmdb-api', 'subscriber' => null], 'log' => ['enabled' => false, 'level' => 'debug', 'handler' => null, 'path' => sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'php-tmdb-api.log', 'subscriber' => null], 'adapter' => $this->getMock('Tmdb\\HttpClient\\Adapter\\AdapterInterface'), 'host' => 'api.themoviedb.org/3/', 'base_url' => 'https://api.themoviedb.org/3/', 'session_token' => null, 'event_dispatcher' => $this->eventDispatcher]));
     if ($body !== null) {
         $request->setBody(is_array($body) ? json_encode($body) : $body);
     }
     return $request;
 }
Exemplo n.º 4
0
 /**
  * Create the request object
  *
  * @param $path
  * @param $method
  * @param  array   $parameters
  * @param  array   $headers
  * @param $body
  * @return Request
  */
 private function createRequest($path, $method, $parameters = [], $headers = [], $body)
 {
     $request = new Request();
     $request->setPath($path)->setMethod($method)->setParameters(new ParameterBag((array) $parameters))->setHeaders(new ParameterBag((array) $headers))->setBody($body)->setOptions(new ParameterBag((array) $this->options));
     return $this->lastRequest = $request;
 }
Exemplo n.º 5
0
 /**
  * @return null
  */
 public function getBody()
 {
     return $this->request->getBody();
 }
Exemplo n.º 6
0
 /**
  * @test
  */
 public function doesSetGetBody()
 {
     $request = new Request();
     $request->setBody('ab');
     $this->assertEquals('ab', $request->getBody());
 }