/** * Adding new message to collection * * @param MessageInterface $message * @return $this */ public function addMessage(MessageInterface $message) { if (!isset($this->messages[$message->getType()])) { $this->messages[$message->getType()] = []; } $this->messages[$message->getType()][] = $message; $this->lastAddedMessage = $message; return $this; }
/** * Build reply XML. * * @param string $to * @param string $from * @param MessageInterface $message * * @return string */ protected function buildReply($to, $from, $message) { $base = ['ToUserName' => $to, 'FromUserName' => $from, 'CreateTime' => time(), 'MsgType' => $message->getType()]; return XML::build(array_merge($base, $this->transformer->transform($message))); }
/** * Serialize message to logger context * * @param MessageInterface $message * * @return array */ private function messageLoggerContext(MessageInterface $message) { return ['id' => $message->getId(), 'created' => $message->getCreated(), 'type' => $message->getType(), 'payload' => $message->getPayload()]; }
/** * {@inheritdoc} */ public function serialize(MessageInterface $message) { return json_encode(['message' => ['id' => $message->getId(), 'type' => $message->getType(), 'created' => $message->getCreated(), 'payload' => $message->getPayload()]]); }