/**
* Initialize request, response and session cookie
*
* @param HttpRequestHandlerInterface $requestHandler
* @return void
* @throws Exception\InvalidRequestResponseException
*/
protected function initializeHttpAndCookie(HttpRequestHandlerInterface $requestHandler)
{
$this->request = $requestHandler->getHttpRequest();
$this->response = $requestHandler->getHttpResponse();
if (!$this->request instanceof Http\Request || !$this->response instanceof Http\Response) {
$className = get_class($requestHandler);
$requestMessage = 'the request was ' . (is_object($this->request) ? 'of type ' . get_class($this->request) : gettype($this->request));
$responseMessage = 'and the response was ' . (is_object($this->response) ? 'of type ' . get_class($this->response) : gettype($this->response));
throw new Exception\InvalidRequestResponseException(sprintf('The active request handler "%s" did not provide a valid HTTP request / HTTP response pair: %s %s.', $className, $requestMessage, $responseMessage), 1354633950);
}
if ($this->request->hasCookie($this->sessionCookieName)) {
$sessionIdentifier = $this->request->getCookie($this->sessionCookieName)->getValue();
$this->sessionCookie = new Http\Cookie($this->sessionCookieName, $sessionIdentifier, 0, $this->sessionCookieLifetime, $this->sessionCookieDomain, $this->sessionCookiePath, $this->sessionCookieSecure, $this->sessionCookieHttpOnly);
}
}