Example #1
0
 /**
  * Updates the cookie store from a Request/Response pair.
  *
  * @param Request  $request
  * @param Response $response
  *
  * @return void
  */
 public function update(Request $request, Response $response)
 {
     $origin = CookieOrigin::createFromRequest($request);
     foreach ($response->getCookies() as $cookie) {
         $this->addCookie($cookie, $origin);
     }
 }
Example #2
0
 /**
  * Returns whether the Cookie matches the given origin.
  *
  * @param CookieOrigin $origin
  *
  * @return boolean
  */
 public function matches(CookieOrigin $origin)
 {
     if ($this->cookie->isSecure() && !$origin->isSecure()) {
         return false;
     }
     $requestHost = explode('.', strtolower($origin->getHost()));
     $cookieDomain = explode('.', $this->domain);
     if ($this->hostOnly && $requestHost != $cookieDomain) {
         return false;
     }
     if (count($requestHost) < count($cookieDomain)) {
         return false;
     }
     if (array_slice($requestHost, -count($cookieDomain)) != $cookieDomain) {
         return false;
     }
     $path = self::getPathDirectory($origin->getPath());
     if (substr($path, 0, strlen($this->path)) != $this->path) {
         return false;
     }
     return true;
 }
Example #3
0
 /**
  * @param Request $request
  *
  * @return array
  */
 private function getCookiesForRequest(Request $request)
 {
     return $this->cookieStore->getAsArray(CookieOrigin::createFromRequest($request));
 }