Open Journal Systems  3.3.0
CookiePlugin.php
1 <?php
2 
3 namespace Guzzle\Plugin\Cookie;
4 
9 
14 {
16  protected $cookieJar;
17 
21  public function __construct(CookieJarInterface $cookieJar = null)
22  {
23  $this->cookieJar = $cookieJar ?: new ArrayCookieJar();
24  }
25 
26  public static function getSubscribedEvents()
27  {
28  return array(
29  'request.before_send' => array('onRequestBeforeSend', 125),
30  'request.sent' => array('onRequestSent', 125)
31  );
32  }
33 
39  public function getCookieJar()
40  {
41  return $this->cookieJar;
42  }
43 
49  public function onRequestBeforeSend(Event $event)
50  {
51  $request = $event['request'];
52  if (!$request->getParams()->get('cookies.disable')) {
53  $request->removeHeader('Cookie');
54  // Find cookies that match this request
55  foreach ($this->cookieJar->getMatchingCookies($request) as $cookie) {
56  $request->addCookie($cookie->getName(), $cookie->getValue());
57  }
58  }
59  }
60 
66  public function onRequestSent(Event $event)
67  {
68  $this->cookieJar->addCookiesFromResponse($event['response'], $event['request']);
69  }
70 }
Guzzle\Plugin\Cookie\CookiePlugin
Definition: CookiePlugin.php:13
Symfony\Component\EventDispatcher\EventSubscriberInterface
Definition: lib/vendor/symfony/event-dispatcher/EventSubscriberInterface.php:25
Guzzle\Plugin\Cookie\CookiePlugin\getSubscribedEvents
static getSubscribedEvents()
Definition: CookiePlugin.php:29
Guzzle\Plugin\Cookie\CookiePlugin\onRequestBeforeSend
onRequestBeforeSend(Event $event)
Definition: CookiePlugin.php:52
Guzzle\Plugin\Cookie\CookiePlugin\onRequestSent
onRequestSent(Event $event)
Definition: CookiePlugin.php:69
Guzzle\Plugin\Cookie\CookiePlugin\$cookieJar
$cookieJar
Definition: CookiePlugin.php:19
Guzzle\Common\Event
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Common/Event.php:10
Guzzle\Plugin\Cookie\CookiePlugin\__construct
__construct(CookieJarInterface $cookieJar=null)
Definition: CookiePlugin.php:24
Guzzle\Plugin\Cookie\CookiePlugin\getCookieJar
getCookieJar()
Definition: CookiePlugin.php:42
Guzzle\Plugin\Cookie
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/Cookie.php:3
Guzzle\Plugin\Cookie\CookieJar\ArrayCookieJar
Definition: ArrayCookieJar.php:14
Guzzle\Plugin\Cookie\CookieJar\CookieJarInterface
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/CookieJarInterface.php:12