/**
  * Initialize request, response and session cookie
  *
  * @param \TYPO3\Flow\Http\HttpRequestHandlerInterface $requestHandler
  * @return void
  * @throws \TYPO3\Flow\Session\Exception\InvalidRequestResponseException
  */
 protected function initializeHttpAndCookie(HttpRequestHandlerInterface $requestHandler)
 {
     $this->request = $requestHandler->getHttpRequest();
     $this->response = $requestHandler->getHttpResponse();
     if (!$this->request instanceof Request || !$this->response instanceof 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 \TYPO3\Flow\Session\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 Cookie($this->sessionCookieName, $sessionIdentifier, 0, $this->sessionCookieLifetime, $this->sessionCookieDomain, $this->sessionCookiePath, $this->sessionCookieSecure, $this->sessionCookieHttpOnly);
     }
 }