mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-11-02 18:38:48 +03:00
v1.2.7.416
This commit is contained in:
parent
54e2645fcf
commit
3b27abbe9a
434 changed files with 51 additions and 72 deletions
|
|
@ -1,79 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace Buzz\Util;
|
||||
|
||||
use Buzz\Message\MessageInterface;
|
||||
use Buzz\Message\RequestInterface;
|
||||
|
||||
class CookieJar
|
||||
{
|
||||
protected $cookies = array();
|
||||
|
||||
public function setCookies($cookies)
|
||||
{
|
||||
$this->cookies = array();
|
||||
foreach ($cookies as $cookie) {
|
||||
$this->addCookie($cookie);
|
||||
}
|
||||
}
|
||||
|
||||
public function getCookies()
|
||||
{
|
||||
return $this->cookies;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a cookie to the current cookie jar.
|
||||
*
|
||||
* @param Cookie $cookie A cookie object
|
||||
*/
|
||||
public function addCookie(Cookie $cookie)
|
||||
{
|
||||
$this->cookies[] = $cookie;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds Cookie headers to the supplied request.
|
||||
*
|
||||
* @param RequestInterface $request A request object
|
||||
*/
|
||||
public function addCookieHeaders(RequestInterface $request)
|
||||
{
|
||||
foreach ($this->cookies as $cookie) {
|
||||
if ($cookie->matchesRequest($request)) {
|
||||
$request->addHeader($cookie->toCookieHeader());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Processes Set-Cookie headers from a request/response pair.
|
||||
*
|
||||
* @param RequestInterface $request A request object
|
||||
* @param MessageInterface $response A response object
|
||||
*/
|
||||
public function processSetCookieHeaders(RequestInterface $request, MessageInterface $response)
|
||||
{
|
||||
foreach ($response->getHeader('Set-Cookie', false) as $header) {
|
||||
$cookie = new Cookie();
|
||||
$cookie->fromSetCookieHeader($header, parse_url($request->getHost(), PHP_URL_HOST));
|
||||
|
||||
$this->addCookie($cookie);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes expired cookies.
|
||||
*/
|
||||
public function clearExpiredCookies()
|
||||
{
|
||||
foreach ($this->cookies as $i => $cookie) {
|
||||
if ($cookie->isExpired()) {
|
||||
unset($this->cookies[$i]);
|
||||
}
|
||||
}
|
||||
|
||||
// reset array keys
|
||||
$this->cookies = array_values($this->cookies);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue