12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- <?php
- namespace AliyunMNS\Requests;
- use AliyunMNS\Constants;
- use AliyunMNS\Requests\BaseRequest;
- use AliyunMNS\Traits\MessagePropertiesForPublish;
- class PublishMessageRequest extends BaseRequest
- {
- use MessagePropertiesForPublish;
- private $topicName;
- public function __construct($messageBody, $messageAttributes = NULL)
- {
- parent::__construct('post', NULL);
- $this->topicName = NULL;
- $this->messageBody = $messageBody;
- $this->messageAttributes = $messageAttributes;
- }
- public function setTopicName($topicName)
- {
- $this->topicName = $topicName;
- $this->resourcePath = 'topics/' . $topicName . '/messages';
- }
- public function getTopicName()
- {
- return $this->topicName;
- }
- public function generateBody()
- {
- $xmlWriter = new \XMLWriter;
- $xmlWriter->openMemory();
- $xmlWriter->startDocument("1.0", "UTF-8");
- $xmlWriter->startElementNS(NULL, "Message", Constants::MNS_XML_NAMESPACE);
- $this->writeMessagePropertiesForPublishXML($xmlWriter);
- $xmlWriter->endElement();
- $xmlWriter->endDocument();
- return $xmlWriter->outputMemory();
- }
- public function generateQueryString()
- {
- return NULL;
- }
- }
- ?>
|