Sin descripción

SetSubscriptionAttributeRequest.php 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace AliyunMNS\Requests;
  3. use AliyunMNS\Constants;
  4. use AliyunMNS\Requests\BaseRequest;
  5. use AliyunMNS\Model\UpdateSubscriptionAttributes;
  6. class SetSubscriptionAttributeRequest extends BaseRequest
  7. {
  8. public function __construct(UpdateSubscriptionAttributes $attributes = NULL)
  9. {
  10. parent::__construct('put', 'topics/' . $attributes->getTopicName() . '/subscriptions/' . $attributes->getSubscriptionName() . '?metaoverride=true');
  11. if ($attributes == NULL)
  12. {
  13. $attributes = new UpdateSubscriptionAttributes();
  14. }
  15. $this->attributes = $attributes;
  16. }
  17. public function getSubscriptionAttributes()
  18. {
  19. return $this->attributes;
  20. }
  21. public function generateBody()
  22. {
  23. $xmlWriter = new \XMLWriter;
  24. $xmlWriter->openMemory();
  25. $xmlWriter->startDocument("1.0", "UTF-8");
  26. $xmlWriter->startElementNS(NULL, "Subscription", Constants::MNS_XML_NAMESPACE);
  27. $this->attributes->writeXML($xmlWriter);
  28. $xmlWriter->endElement();
  29. $xmlWriter->endDocument();
  30. return $xmlWriter->outputMemory();
  31. }
  32. public function generateQueryString()
  33. {
  34. return NULL;
  35. }
  36. }
  37. ?>