mirror of
https://github.com/guzzle/guzzle.git
synced 2025-02-24 18:13:00 +01:00
1. Adopting a marker interface for Guzzle exceptions. A. All exceptions emitted from Guzzle are now wrapped with a Guzzle namespaced exception. B. Guzzle\Common\GuzzleExceptionInterface was renamed to Guzzle\Common\GuzzleException C. Guzzle\Common\ExceptionCollection was renamed to Guzzle\Common\Exception\ExceptionCollection 2. Using Header objects for Request and Response objects A. When you call $request->getHeader('X'), you will get back a Guzzle\Http\Message\Header object that contains all of the headers that case insensitively match. This object can be cast to a string or iterated like an array. You can pass true in the second argument to retrieve the header as a string. B. Removing the old Guzzle\Common\Collection based searching arguments from most of the request and response header methods. All retrievals are case-insensitive and return Header objects. 3. Changing the two headers added by the cache plugin to just one header with key and ttl. 4. Changing Guzzle\Http\Message\Response::factory() to fromMessage(). 5. Removing the NullObject return value from ServiceDescriptions and instead simply returning null New Features / enhancements: 1. Adding Guzzle\Http\Message\AbstractMessage::addHeaders() 2. Making it simpler to create service descriptions using a unified factory method that delegates to other factories. 3. Better handling of ports and hosts in Guzzle\Http\Url Note: This is a noisy diff because I'm removing trailing whitespace and adding a new line at the end of each source file.
71 lines
1.4 KiB
PHP
71 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace Guzzle\Tests\Mock;
|
|
|
|
use Guzzle\Common\Event;
|
|
use Guzzle\Common\Event\EventManager;
|
|
use Guzzle\Common\Event\ObserverInterface;
|
|
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
|
|
|
class MockObserver implements \Countable, EventSubscriberInterface
|
|
{
|
|
public $events = array();
|
|
|
|
public static function getSubscribedEvents()
|
|
{
|
|
return array();
|
|
}
|
|
|
|
public function has($eventName)
|
|
{
|
|
foreach ($this->events as $event) {
|
|
if ($event->getName() == $eventName) {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public function getLastEvent()
|
|
{
|
|
return end($this->events);
|
|
}
|
|
|
|
public function count()
|
|
{
|
|
return count($this->events);
|
|
}
|
|
|
|
public function getGrouped()
|
|
{
|
|
$events = array();
|
|
foreach ($this->events as $event) {
|
|
if (!isset($events[$event->getName()])) {
|
|
$events[$event->getName()] = array();
|
|
}
|
|
$events[$event->getName()][] = $event;
|
|
}
|
|
|
|
return $events;
|
|
}
|
|
|
|
public function getData($event, $key, $occurence = 0)
|
|
{
|
|
$grouped = $this->getGrouped();
|
|
if (isset($grouped[$event])) {
|
|
return $grouped[$event][$occurence][$key];
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
public function update(Event $event)
|
|
{
|
|
$this->events[] = $event;
|
|
}
|
|
}
|