/** * Handle an xmlrpc call * * @param Zend\XmlRpc\Request $request Optional * @return Zend\XmlRpc\Response|Zend\XmlRpc\Fault */ public function handle($request = false) { // Get request if ((!$request || !$request instanceof Request) && null === ($request = $this->getRequest())) { $request = new Request\HTTP(); $request->setEncoding($this->getEncoding()); } $this->setRequest($request); if ($request->isFault()) { $response = $request->getFault(); } else { try { $response = $this->_handle($request); } catch (\Exception $e) { $response = $this->fault($e); } } // Set output encoding $response->setEncoding($this->getEncoding()); return $response; }
public function testHttpRequestGeneratesFaultIfReadFromPhpInputFails() { PHPInput::methodWillReturn('stream_open', false); $request = new Request\HTTP(); $this->assertTrue($request->isFault()); $this->assertSame(630, $request->getFault()->getCode()); }