Ejemplo n.º 1
0
 /**
  * @dataProvider cookieParserDataProvider
  */
 public function testParseCookie($cookie, $parsed)
 {
     foreach ((array) $cookie as $v) {
         $c = puzzle_cookie_SetCookie::fromString($v);
         $p = $c->toArray();
         if (isset($p['Expires'])) {
             // Remove expires values from the assertion if they are relatively equal
             if (abs($p['Expires'] != strtotime($parsed['Expires'])) < 40) {
                 unset($p['Expires']);
                 unset($parsed['Expires']);
             }
         }
         if (!empty($parsed)) {
             foreach ($parsed as $key => $value) {
                 $this->assertEquals($parsed[$key], $p[$key], 'Comparing ' . $key . ' ' . var_export($value, true) . ' : ' . var_export($parsed, true) . ' | ' . var_export($p, true));
             }
             foreach ($p as $key => $value) {
                 $this->assertEquals($p[$key], $parsed[$key], 'Comparing ' . $key . ' ' . var_export($value, true) . ' : ' . var_export($parsed, true) . ' | ' . var_export($p, true));
             }
         } else {
             $this->assertEquals(array('Name' => null, 'Value' => null, 'Domain' => null, 'Path' => '/', 'Max-Age' => null, 'Expires' => null, 'Secure' => false, 'Discard' => false, 'HttpOnly' => false), $p);
         }
     }
 }
Ejemplo n.º 2
0
 public function extractCookies(puzzle_message_RequestInterface $request, puzzle_message_ResponseInterface $response)
 {
     if ($cookieHeader = $response->getHeader('Set-Cookie', true)) {
         foreach ($cookieHeader as $cookie) {
             $sc = puzzle_cookie_SetCookie::fromString($cookie);
             if (!$sc->getDomain()) {
                 $sc->setDomain($request->getHost());
             }
             $this->setCookie($sc);
         }
     }
 }