/** * {@inheritdoc} */ public function call(LocationInterface $location, Request $request) { $this->dispatcher->dispatch(CallEvent::NAME, new CallEvent($location, $request)); $promise = $this->driver->call($location, $request); return new Response\Promise(function ($timeout) use($location, $request, $promise) { $response = $promise->resolve($timeout); $this->dispatcher->dispatch(ReplyEvent::NAME, new ReplyEvent($location, $request, $response)); return $response; }); }
/** * {@inheritdoc} */ public function call(Request $request) { return $this->driver->call($this->location, $request); }
/** * {@inheritdoc} */ public function call(LocationInterface $location, Request $request) { return $this->syncDriver->call($location, $request); }