1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace AliyunMNS\Requests;
- use AliyunMNS\Constants;
- use AliyunMNS\Requests\BaseRequest;
- use AliyunMNS\Model\SendMessageRequestItem;
- class BatchSendMessageRequest extends BaseRequest
- {
- protected $queueName;
- protected $sendMessageRequestItems;
- // boolean, whether the message body will be encoded in base64
- protected $base64;
- public function __construct(array $sendMessageRequestItems, $base64 = TRUE)
- {
- parent::__construct('post', NULL);
- $this->queueName = NULL;
- $this->sendMessageRequestItems = $sendMessageRequestItems;
- $this->base64 = $base64;
- }
- public function setBase64($base64)
- {
- $this->base64 = $base64;
- }
- public function isBase64()
- {
- return ($this->base64 == TRUE);
- }
- public function setQueueName($queueName)
- {
- $this->queueName = $queueName;
- $this->resourcePath = 'queues/' . $queueName . '/messages';
- }
- public function getQueueName()
- {
- return $this->queueName;
- }
- public function getSendMessageRequestItems()
- {
- return $this->sendMessageRequestItems;
- }
- public function addSendMessageRequestItem(SendMessageRequestItem $item)
- {
- $this->sendMessageRequestItems[] = $item;
- }
- public function generateBody()
- {
- $xmlWriter = new \XMLWriter;
- $xmlWriter->openMemory();
- $xmlWriter->startDocument("1.0", "UTF-8");
- $xmlWriter->startElementNS(NULL, "Messages", Constants::MNS_XML_NAMESPACE);
- foreach ($this->sendMessageRequestItems as $item)
- {
- $item->writeXML($xmlWriter, $this->base64);
- }
- $xmlWriter->endElement();
- $xmlWriter->endDocument();
- return $xmlWriter->outputMemory();
- }
- public function generateQueryString()
- {
- return NULL;
- }
- }
- ?>
|