Exemplo n.º 1
0
 /**
  * Sets an HTTP cookie
  * 
  * @param \Duality\Structure\Http\Response $response The response to be sent
  * 
  * @throws \Duality\Core\DualityException When finds an invalid cookie
  * 
  * @return \Duality\Service\Server This instance
  */
 public function sendCookies(Response $response)
 {
     $required = array('name', 'value', 'expire', 'path', 'domain', 'secure');
     foreach ($response->getCookies() as $item) {
         // Validate cookie
         $hasKeys = array_intersect_key(array_flip($required), $item);
         if (count($hasKeys) !== count($required)) {
             throw new DualityException("Error HTTP Cookie: required keys: " . "name, value, expire, path, domain and secure", DualityException::E_HTTP_INVALIDCOOKIE);
         }
         // send cookie
         setcookie($item['name'], $item['value'], $item['expire'], $item['path'], $item['domain'], $item['secure']);
     }
     return $this;
 }