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(); }