/** * Creates PeekMessagesResult object from parsed XML response. * * @param array $parsedResponse XML response parsed into array. * * @return MicrosoftAzure\Storage\Queue\Models\PeekMessagesResult. */ public static function create($parsedResponse) { $result = new PeekMessagesResult(); $queueMessages = array(); if (!empty($parsedResponse)) { $rawMessages = Utilities::getArray($parsedResponse['QueueMessage']); foreach ($rawMessages as $value) { $message = MicrosoftAzureQueueMessage::createFromPeekMessages($value); $queueMessages[] = $message; } } $result->setQueueMessages($queueMessages); return $result; }
/** * @covers MicrosoftAzure\Storage\Queue\Models\PeekMessagesResult::setQueueMessages */ public function testSetQueueMessages() { // Setup $sample = TestResources::listMessagesSample(); $expectedMessageId = '1234b585-0ac3-4e2a-ad0c-18e3992brca1'; $result = PeekMessagesResult::create($sample); $expected = $result->getQueueMessages(); $expected[0]->setMessageId($expectedMessageId); // Test $result->setQueueMessages($expected); $this->assertEquals($expected, $result->getQueueMessages()); }
/** * Retrieves a message from the front of the queue, without changing * the message visibility. * * @param string $queueName The queue name. * @param PeekMessagesOptions $options The optional parameters. * * @return MicrosoftAzure\Storage\Common\Models\PeekMessagesResult */ public function peekMessages($queueName, $options = null) { Validate::isString($queueName, 'queueName'); Validate::notNullOrEmpty($queueName, 'queueName'); $method = Resources::HTTP_GET; $headers = array(); $queryParams = array(); $postParams = array(); $path = $queueName . '/messages'; $statusCode = Resources::STATUS_OK; if (is_null($options)) { $options = new PeekMessagesOptions(); } $messagesCount = $options->getNumberOfMessages(); $timeout = $options->getTimeout(); $this->addOptionalQueryParam($queryParams, Resources::QP_PEEK_ONLY, 'true'); $this->addOptionalQueryParam($queryParams, Resources::QP_TIMEOUT, $timeout); $this->addOptionalQueryParam($queryParams, Resources::QP_NUM_OF_MESSAGES, $messagesCount); $response = $this->send($method, $headers, $queryParams, $postParams, $path, $statusCode); $parsed = $this->dataSerializer->unserialize($response->getBody()); return PeekMessagesResult::create($parsed); }