public function testEventsWithNoPriority() { $this->expectOutputString('fooEmitterTestbarEmitterTest'); $emitter = new Emitter(); $emitter->on('foobar', function ($event) { echo 'foo'; echo get_class($event->getTarget()); }); $emitter->on('foobar', function ($event) { echo 'bar'; echo get_class($event->getTarget()); }); $event = new Event(); $event->setTarget($this); $emitter->fireEvent('foobar', $event); }
/** * @return \Blar\Http\HttpResponse */ public function send() { $response = $this->createHttpResponse(); $response->setUrl($this->getUrl()); $event = new Event(); $event->setTarget($this); $this->fireEvent('beforeSend', $event); $curl = $this->createCurl(); $this->configureCurl($curl, $response); $curl->execute(); // Wenn bei der Anfrage eine Umleitung aufgetreten ist, die Url in der Antwort aktualisieren. $response->setUrl($curl->getInfo(CURLINFO_EFFECTIVE_URL)); $event = new Event(); $event->setTarget($response); $this->fireEvent('responseReceived', $event); return $response; }
/** * @param string $methodName Method name. * @param array $arguments Arguments. * @return Blar\Http\HttpRequest */ public function createRequest($methodName, array $arguments = array()) { if (!$this->getWebserviceDescription()->has($methodName)) { throw new Exception(sprintf('Method "%s" not found', $methodName), 404); } $method = $this->getWebserviceDescription()->get($methodName); $method->getParameters()->setValues($this->getDefaultArguments()); $method->getParameters()->setValues($arguments); $request = new HttpRequest(); $request->setMethod($method->getMethod()); $this->prepareRequest($request, $method); $event = new Event(); $event->setTarget($request); $this->getEmitter()->fireEvent('requestCreated', $event); return $request; }