mirror of
https://0xacab.org/radar/radar-wp.git
synced 2025-06-09 13:16:26 +02:00
Initial import.
This commit is contained in:
commit
86383280c9
428 changed files with 68738 additions and 0 deletions
83
vendor/guzzle/http/Guzzle/Http/IoEmittingEntityBody.php
vendored
Normal file
83
vendor/guzzle/http/Guzzle/Http/IoEmittingEntityBody.php
vendored
Normal file
|
@ -0,0 +1,83 @@
|
|||
<?php
|
||||
|
||||
namespace Guzzle\Http;
|
||||
|
||||
use Guzzle\Common\Event;
|
||||
use Guzzle\Common\HasDispatcherInterface;
|
||||
use Symfony\Component\EventDispatcher\EventDispatcher;
|
||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
||||
|
||||
/**
|
||||
* EntityBody decorator that emits events for read and write methods
|
||||
*/
|
||||
class IoEmittingEntityBody extends AbstractEntityBodyDecorator implements HasDispatcherInterface
|
||||
{
|
||||
/** @var EventDispatcherInterface */
|
||||
protected $eventDispatcher;
|
||||
|
||||
public static function getAllEvents()
|
||||
{
|
||||
return array('body.read', 'body.write');
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function setEventDispatcher(EventDispatcherInterface $eventDispatcher)
|
||||
{
|
||||
$this->eventDispatcher = $eventDispatcher;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getEventDispatcher()
|
||||
{
|
||||
if (!$this->eventDispatcher) {
|
||||
$this->eventDispatcher = new EventDispatcher();
|
||||
}
|
||||
|
||||
return $this->eventDispatcher;
|
||||
}
|
||||
|
||||
public function dispatch($eventName, array $context = array())
|
||||
{
|
||||
return $this->getEventDispatcher()->dispatch($eventName, new Event($context));
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function addSubscriber(EventSubscriberInterface $subscriber)
|
||||
{
|
||||
$this->getEventDispatcher()->addSubscriber($subscriber);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function read($length)
|
||||
{
|
||||
$event = array(
|
||||
'body' => $this,
|
||||
'length' => $length,
|
||||
'read' => $this->body->read($length)
|
||||
);
|
||||
$this->dispatch('body.read', $event);
|
||||
|
||||
return $event['read'];
|
||||
}
|
||||
|
||||
public function write($string)
|
||||
{
|
||||
$event = array(
|
||||
'body' => $this,
|
||||
'write' => $string,
|
||||
'result' => $this->body->write($string)
|
||||
);
|
||||
$this->dispatch('body.write', $event);
|
||||
|
||||
return $event['result'];
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue