public function testFromResponseInCookie() { $response = new Response(); $headers = new Headers(); $header = new SetCookie("foo", "bar"); $header->setDomain("www.zend.com"); $header->setPath("/"); $headers->addHeader($header); $response->setHeaders($headers); $response = Cookies::fromResponse($response, "http://www.zend.com"); $this->assertSame($header, $response->getCookie('http://www.zend.com', 'foo')); }
public function testSetCookieCanAppendOtherHeadersInWhenCreatingString() { $setCookieHeader = new SetCookie(); $setCookieHeader->setName('myname'); $setCookieHeader->setValue('myvalue'); $setCookieHeader->setExpires('Wed, 13-Jan-2021 22:23:01 GMT'); $setCookieHeader->setDomain('docs.foo.com'); $setCookieHeader->setPath('/accounts'); $setCookieHeader->setSecure(true); $setCookieHeader->setHttponly(true); $appendCookie = new SetCookie('othername', 'othervalue'); $headerLine = $setCookieHeader->toStringMultipleHeaders(array($appendCookie)); $target = 'Set-Cookie: myname=myvalue; Expires=Wed, 13-Jan-2021 22:23:01 GMT;' . ' Domain=docs.foo.com; Path=/accounts;' . ' Secure; HttpOnly, othername=othervalue'; $this->assertEquals($target, $headerLine); }
public function setCookie($key = "", $value = "", $time = 86400) { $header = new \Zend\Http\Header\SetCookie(); $header->setName($key); $header->setValue($value); $header->setDomain($_SERVER['HTTP_HOST']); $header->setPath('/'); $header->setExpires(time() + $time); $this->getResponse()->getHeaders()->addHeader($header); }
public function destroy($sessionId) { $header = new HeaderSetCookie(); $header->setName(ini_get('session.name') . '_' . $sessionId); $header->setValue(''); $header->setExpires(time() - 1000000); $header->setPath('/'); $header->setHttponly(true); $this->getResponse()->getHeaders()->addHeader($header); return true; }
public function testSetCookieFieldValueIsEmptyStringWhenNameIsUnset() { $setCookieHeader = new SetCookie(); $this->assertSame('', $setCookieHeader->getFieldValue()); // empty $setCookieHeader->setName('myname'); $setCookieHeader->setValue('myvalue'); $setCookieHeader->setExpires('Wed, 13-Jan-2021 22:23:01 GMT'); $setCookieHeader->setDomain('docs.foo.com'); $setCookieHeader->setPath('/accounts'); $setCookieHeader->setSecure(true); $setCookieHeader->setHttponly(true); $target = 'myname=myvalue; Expires=Wed, 13-Jan-2021 22:23:01 GMT;' . ' Domain=docs.foo.com; Path=/accounts;' . ' Secure; HttpOnly'; $this->assertSame($target, $setCookieHeader->getFieldValue()); // not empty $setCookieHeader->setName(null); $this->assertSame('', $setCookieHeader->getFieldValue()); // empty again $this->assertNull($setCookieHeader->getName()); }