コード例 #1
0
ファイル: SetCookieTest.php プロジェクト: rafalwrzeszcz/zf2
 public function testSetCookieFromStringCanCreateMultipleHeaders()
 {
     $setCookieHeaders = SetCookie::fromString('Set-Cookie: myname=myvalue, ' . 'someothername=someothervalue; Domain=docs.foo.com; Path=/accounts;' . 'Expires=Wed, 13-Jan-2021 22:23:01 GMT; Secure; HttpOnly');
     $this->assertInternalType('array', $setCookieHeaders);
     $setCookieHeader = $setCookieHeaders[0];
     $this->assertInstanceOf('Zend\\Http\\Header\\MultipleHeaderDescription', $setCookieHeader);
     $this->assertEquals('myname', $setCookieHeader->getName());
     $this->assertEquals('myvalue', $setCookieHeader->getValue());
     $setCookieHeader = $setCookieHeaders[1];
     $this->assertInstanceOf('Zend\\Http\\Header\\MultipleHeaderDescription', $setCookieHeader);
     $this->assertEquals('someothername', $setCookieHeader->getName());
     $this->assertEquals('someothervalue', $setCookieHeader->getValue());
     $this->assertEquals('Wed, 13-Jan-2021 22:23:01 GMT', $setCookieHeader->getExpires());
     $this->assertEquals('docs.foo.com', $setCookieHeader->getDomain());
     $this->assertEquals('/accounts', $setCookieHeader->getPath());
     $this->assertTrue($setCookieHeader->isSecure());
     $this->assertTrue($setCookieHeader->isHttponly());
 }
コード例 #2
0
ファイル: Cookies.php プロジェクト: Flesh192/magento
 /**
  * Add a cookie to the class. Cookie should be passed either as a Zend\Http\Header\Cookie object
  * or as a string - in which case an object is created from the string.
  *
  * @param SetCookie|string $cookie
  * @param Uri\Uri|string $refUri Optional reference URI (for domain, path, secure)
  * @throws Exception\InvalidArgumentException
  */
 public function addCookie($cookie, $refUri = null)
 {
     if (is_string($cookie)) {
         $cookie = SetCookie::fromString($cookie, $refUri);
     }
     if ($cookie instanceof SetCookie) {
         $domain = $cookie->getDomain();
         $path = $cookie->getPath();
         if (!isset($this->cookies[$domain])) {
             $this->cookies[$domain] = array();
         }
         if (!isset($this->cookies[$domain][$path])) {
             $this->cookies[$domain][$path] = array();
         }
         $this->cookies[$domain][$path][$cookie->getName()] = $cookie;
         $this->rawCookies[] = $cookie;
     } else {
         throw new Exception\InvalidArgumentException('Supplient argument is not a valid cookie string or object');
     }
 }
コード例 #3
0
 /**
  * @dataProvider validCookieWithInfoProvider
  */
 public function testToString($cStr, $info, $expected)
 {
     $cookie = SetCookie::fromString($cStr);
     if (! $cookie instanceof SetCookie) {
         $this->fail("Failed creating a cookie object from '$cStr'");
     }        
     $this->assertEquals($cookie->getFieldName() . ': ' . $expected, $cookie->toString());
 }
コード例 #4
0
ファイル: SetCookieTest.php プロジェクト: bradley-holt/zf2
 /**
  * @group ZF2-169
  */
 public function testDoesNotAcceptCookieNameFromArbitraryLocationInHeaderValue()
 {
     $cookie = 'Set-Cookie: Version=1; Max-Age=1799; Expires=Mon, 20-Feb-2012 02:49:57 GMT; Path=/; leo_auth_token="example"';
     $setCookieHeader = SetCookie::fromString($cookie);
     $this->assertNotEquals('leo_auth_token', $setCookieHeader->getName());
 }
コード例 #5
0
 /**
  * ZF2-169
  * 
  * @see http://framework.zend.com/issues/browse/ZF2-169
  */
 public function testZF2_169()
 {
     $cookie = 'Set-Cookie: leo_auth_token="example"; Version=1; Max-Age=1799; Expires=Mon, 20-Feb-2012 02:49:57 GMT; Path=/';
     $setCookieHeader = SetCookie::fromString($cookie);
     $this->assertEquals($cookie, $setCookieHeader->toString());
 }