public function testRequestAccessorMethods() { $event = new TwilioResponseEvent(); $this->assertNull($event->getRequest()); $request = new Request(); $event->setRequest($request); $this->assertSame($request, $event->getRequest()); }
public function testRequestIsCanBeOverridden() { $request = new Request(); $event = new TwilioResponseEvent(); $event->setName('getTwilioResponse'); $this->listener->setRequest($request); $this->listener->dispatch($event); $this->assertSame($request, $this->listener->getRequest()); }
/** * Dispatch an incoming event to the appropriate method * * Marshals arguments from the event parameters. * * @param TwilioResponseEvent $event * @return mixed */ public function dispatch(TwilioResponseEvent $event) { $this->event = $event; switch ($event->getName()) { case 'getTwilioResponse': return $this->getResponse(); default: throw new \RuntimeException(sprintf('%s has not been setup to handle the event "%s"', __METHOD__, $event->getName())); } }
/** * Prepare event parameters * * Merges any event parameters set in the resources with arguments passed * to a resource method, and passes them to the `prepareArgs` method of the * event manager. * * If an input filter is composed, this, too, is injected into the event. * * @param array $args * @return ArrayObject */ protected function prepareEvent($name, array $args) { $em = $this->getEventManager(); if ($em instanceof EventManager) { $args = $em->prepareArgs($args); } $event = new TwilioResponseEvent($name, $this, $args); $event->setRequest($this->getRequest()); return $event; }