Ver código fonte

Better response handling when receiving 0 messages

- Throw error only on error conditions
- Return empty array of messages when no messages returned

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@22984 44c647ce-9c0f-0410-b52a-842ac1e357ba
matthew 15 anos atrás
pai
commit
e006da23e0
1 arquivos alterados com 7 adições e 2 exclusões
  1. 7 2
      library/Zend/Service/Amazon/Sqs.php

+ 7 - 2
library/Zend/Service/Amazon/Sqs.php

@@ -245,11 +245,16 @@ class Zend_Service_Amazon_Sqs extends Zend_Service_Amazon_Abstract
 
         $result = $this->_makeRequest($queue_url, 'ReceiveMessage', $params);
 
+        if (isset($result->Error)) {
+            require_once 'Zend/Service/Amazon/Sqs/Exception.php';
+            throw new Zend_Service_Amazon_Sqs_Exception($result->Error->Code);
+        }
+
         if (!isset($result->ReceiveMessageResult->Message)
             || empty($result->ReceiveMessageResult->Message)
         ) {
-            require_once 'Zend/Service/Amazon/Sqs/Exception.php';
-            throw new Zend_Service_Amazon_Sqs_Exception($result->Error->Code);
+            // no messages found
+            return array();
         }
 
         $data = array();