Exemple #1
0
 public function testSettingNextResponseByIndex()
 {
     $expected = array("HTTP/1.1 200 OK\r\n\r\n", "HTTP/1.1 302 Moved Temporarily\r\n\r\n", "HTTP/1.1 404 Not Found\r\n\r\n");
     $this->adapter->setResponse($expected);
     $this->assertEquals($expected[0], $this->adapter->read());
     foreach ($expected as $i => $expected) {
         $this->adapter->setResponseIndex($i);
         $this->assertEquals($expected, $this->adapter->read());
     }
 }
 /**
  * See {@link Zend_Http_Client_Adapter_Interface::read()} for details.
  *
  * @return string
  * @throws RuntimeException If no response is available.
  */
 public function read()
 {
     foreach ($this->getPatterns() as $pattern) {
         /* @var $pattern string */
         if (!$this->matches($pattern)) {
             continue;
         }
         $this->countRequest($pattern);
         return $this->next($pattern);
     }
     $this->countRequest('default');
     if (count($this->responses) === 0) {
         $message = 'Cannot handle request for "' . $this->requestedUri . '".' . PHP_EOL . 'No response available, please provide at least one default response.';
         throw new RuntimeException($message);
     }
     return parent::read();
 }