Aucune description

SendMessageRequest.php 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace AliyunMNS\Requests;
  3. use AliyunMNS\Constants;
  4. use AliyunMNS\Requests\BaseRequest;
  5. use AliyunMNS\Model\QueueAttributes;
  6. use AliyunMNS\Traits\MessagePropertiesForSend;
  7. class SendMessageRequest extends BaseRequest
  8. {
  9. use MessagePropertiesForSend;
  10. private $queueName;
  11. // boolean, whether the message body will be encoded in base64
  12. private $base64;
  13. public function __construct($messageBody, $delaySeconds = NULL, $priority = NULL, $base64 = TRUE)
  14. {
  15. parent::__construct('post', NULL);
  16. $this->queueName = NULL;
  17. $this->messageBody = $messageBody;
  18. $this->delaySeconds = $delaySeconds;
  19. $this->priority = $priority;
  20. $this->base64 = $base64;
  21. }
  22. public function setBase64($base64)
  23. {
  24. $this->base64 = $base64;
  25. }
  26. public function isBase64()
  27. {
  28. return ($this->base64 == TRUE);
  29. }
  30. public function setQueueName($queueName)
  31. {
  32. $this->queueName = $queueName;
  33. $this->resourcePath = 'queues/' . $queueName . '/messages';
  34. }
  35. public function getQueueName()
  36. {
  37. return $this->queueName;
  38. }
  39. public function generateBody()
  40. {
  41. $xmlWriter = new \XMLWriter;
  42. $xmlWriter->openMemory();
  43. $xmlWriter->startDocument("1.0", "UTF-8");
  44. $xmlWriter->startElementNS(NULL, "Message", Constants::MNS_XML_NAMESPACE);
  45. $this->writeMessagePropertiesForSendXML($xmlWriter, $this->base64);
  46. $xmlWriter->endElement();
  47. $xmlWriter->endDocument();
  48. return $xmlWriter->outputMemory();
  49. }
  50. public function generateQueryString()
  51. {
  52. return NULL;
  53. }
  54. }
  55. ?>