public function map(Envelope $envelope) { /* @var \Bernard\Message\DefaultMessage $message */ $message = $envelope->getMessage(); $serviceId = sprintf('simple_bus.bernard_bundle_bridge.%s_consumer', $message->get('type')); return $this->container->get($serviceId); }
/** * {@inheritdoc} */ public function map(Envelope $envelope) { if (!$this->consumerPluginManager->has($envelope->getName())) { throw new ReceiverNotFoundException(sprintf('Could not find the received for %s ', $envelope->getName())); } return $this->consumerPluginManager->get($envelope->getName()); }
/** * Returns the right Receiver (callable) based on the Envelope. * * @param Envelope $envelope * @throws \InvalidArgumentException * @return array */ public function map(Envelope $envelope) { $message = $envelope->getMessage(); if (!$message instanceof BernardMessage) { throw new \InvalidArgumentException(sprintf("Routing the message %s failed due to wrong message type", $envelope->getName())); } return array($this, "routeMessage"); }
/** * {@inheritDoc} */ public function map(Envelope $envelope) { $receiver = $this->get($envelope->getName()); if (false == $receiver) { throw new ReceiverNotFoundException(); } if (is_callable($receiver)) { return $receiver; } return array($receiver, lcfirst($envelope->getName())); }
/** * @param Envelope $envelope * @throws InvalidArgumentException * @return string */ public function serialize(Envelope $envelope) { $message = $envelope->getMessage(); if (!$message instanceof BernardMessage) { throw new InvalidArgumentException(sprintf("Serialize message %s failed due to wrong message type", $message->getName())); } $messageData = $this->messageConverter->convertToArray($message->getProophMessage()); MessageDataAssertion::assert($messageData); $messageData['created_at'] = $message->getProophMessage()->createdAt()->format('Y-m-d\\TH:i:s.u'); return json_encode(['message' => $messageData, 'timestamp' => $envelope->getTimestamp()]); }
/** * @param Envelope $envelope */ protected function verifyEnvelope(Envelope $envelope) { $queue = $envelope->getName(); if (isset($this->queues[$queue])) { return; } throw new \DomainException('Unrecognized queue specified: ' . $queue); }
/** * @param Envelope $envelope * @param Exception $exception */ protected function format(Envelope $envelope, Exception $exception) { $replacements = ['{class}' => get_class($exception), '{message}' => $exception->getMessage(), '{envelope}' => $envelope->getName()]; return strtr('[bernard] caught exception {class}::{message} while processing {envelope}.', $replacements); }