public function getResponse() { if (!$this->hasResponse()) { return; } if ($body = $this->response->getBody()) { $body->seek(0, SEEK_SET); } return $this->response; }
/** * {@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()); }
/** * {@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()); }
/** * {@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; }
/** * {@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()]; }
/** * {@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); } }
/** * {@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()); }