public function getResponse()
 {
     if (!$this->hasResponse()) {
         return;
     }
     if ($body = $this->response->getBody()) {
         $body->seek(0, SEEK_SET);
     }
     return $this->response;
 }
Exemple #2
0
 /**
  * {@inheritdoc}
  */
 public function prepareResponse(ResponseInterface $response, InternalRequestInterface $internalRequest)
 {
     return $response->withParameter(self::REDIRECT_COUNT, (int) $internalRequest->getParameter(self::REDIRECT_COUNT))->withParameter(self::EFFECTIVE_URI, (string) $internalRequest->getUri());
 }
Exemple #3
0
 /**
  * {@inheritdoc}
  */
 public function formatResponse(ResponseInterface $response)
 {
     return array('protocol_version' => $response->getProtocolVersion(), 'status_code' => $response->getStatusCode(), 'reason_phrase' => $response->getReasonPhrase(), 'headers' => $response->getHeaders(), 'body' => (string) $response->getBody(), 'parameters' => $response->getParameters());
 }
Exemple #4
0
 /**
  * {@inheritdoc}
  */
 public function extract(InternalRequestInterface $request, ResponseInterface $response)
 {
     foreach ($response->getHeaderAsArray('Set-Cookie') as $header) {
         $cookie = $this->cookieFactory->parse($header);
         if (!$cookie->hasAttribute(CookieInterface::ATTR_DOMAIN)) {
             $cookie->setAttribute(CookieInterface::ATTR_DOMAIN, parse_url((string) $request->getUrl(), PHP_URL_HOST));
         }
         $this->addCookie($cookie);
     }
 }
 /**
  * Creates a status code exception.
  *
  * @param \Ivory\HttpAdapter\Message\ResponseInterface        $response        The response.
  * @param \Ivory\HttpAdapter\Message\InternalRequestInterface $internalRequest The internal request.
  * @param \Ivory\HttpAdapter\HttpAdapterInterface             $httpAdapter     The http adapter.
  *
  * @return \Ivory\HttpAdapter\HttpAdapterException The status code exception.
  */
 private function createStatusCodeException(ResponseInterface $response, InternalRequestInterface $internalRequest, HttpAdapterInterface $httpAdapter)
 {
     $exception = HttpAdapterException::cannotFetchUri((string) $internalRequest->getUri(), $httpAdapter->getName(), sprintf('Status code: %d', $response->getStatusCode()));
     $exception->setRequest($internalRequest);
     $exception->setResponse($response);
     return $exception;
 }
Exemple #6
0
 /**
  * {@inheritdoc}
  */
 public function validate(ResponseInterface $response)
 {
     $statusCode = (string) $response->getStatusCode();
     return $statusCode[0] !== '4' && $statusCode[0] !== '5';
 }
 /**
  * Gets an array from a Response.
  *
  * @param ResponseInterface $response
  *
  * @return array
  */
 public function responseToArray(ResponseInterface $response)
 {
     return ['status_code' => $response->getStatusCode(), 'protocol_version' => $response->getProtocolVersion(), 'headers' => $response->getHeaders(), 'body' => (string) $response->getBody(), 'parameters' => $response->getParameters()];
 }
Exemple #8
0
 /**
  * {@inheritdoc}
  */
 public function extract(InternalRequestInterface $request, ResponseInterface $response)
 {
     foreach ($response->getHeader('Set-Cookie') as $header) {
         $cookie = $this->cookieFactory->parse($header);
         if (!$cookie->hasAttribute(CookieInterface::ATTR_DOMAIN)) {
             $cookie->setAttribute(CookieInterface::ATTR_DOMAIN, $request->getUri()->getHost());
         }
         $this->addCookie($cookie);
     }
 }
Exemple #9
0
 /**
  * {@inheritdoc}
  */
 public function prepareResponse(ResponseInterface $response, InternalRequestInterface $internalRequest)
 {
     $response->setParameter(self::REDIRECT_COUNT, (int) $internalRequest->getParameter(self::REDIRECT_COUNT));
     $response->setParameter(self::EFFECTIVE_URL, (string) $internalRequest->getUrl());
 }