mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 03:18:26 +00:00
Add support for key => value cookies.
This makes using simple arrays easier, and I feel it is a long standing omission from HttpSocket. Fixes #3771
This commit is contained in:
parent
d01d291d13
commit
4d8dd12449
2 changed files with 9 additions and 3 deletions
|
@ -942,7 +942,12 @@ class HttpSocket extends CakeSocket {
|
|||
public function buildCookies($cookies) {
|
||||
$header = array();
|
||||
foreach ($cookies as $name => $cookie) {
|
||||
$header[] = $name . '=' . $this->_escapeToken($cookie['value'], array(';'));
|
||||
if (is_array($cookie)) {
|
||||
$value = $this->_escapeToken($cookie['value'], array(';'));
|
||||
} else {
|
||||
$value = $this->_escapeToken($cookie, array(';'));
|
||||
}
|
||||
$header[] = $name . '=' . $value;
|
||||
}
|
||||
return $this->_buildHeader(array('Cookie' => implode('; ', $header)), 'pragmatic');
|
||||
}
|
||||
|
|
|
@ -1590,9 +1590,10 @@ class HttpSocketTest extends CakeTestCase {
|
|||
'people' => array(
|
||||
'value' => 'jim,jack,johnny;',
|
||||
'path' => '/accounts'
|
||||
)
|
||||
),
|
||||
'key' => 'value'
|
||||
);
|
||||
$expect = "Cookie: foo=bar; people=jim,jack,johnny\";\"\r\n";
|
||||
$expect = "Cookie: foo=bar; people=jim,jack,johnny\";\"; key=value\r\n";
|
||||
$result = $this->Socket->buildCookies($cookies);
|
||||
$this->assertEquals($expect, $result);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue