public function testSendArray() { $originalData = array('my' => 'data', 'goes' => 'here'); $request = new Zym_Couch_Request('/foo/bar', Zym_Couch_Request::GET, $originalData); $rawRequest = $request->getRawRequest(); $this->assertContains('Content-Length: 27' . self::CRLF, $rawRequest); $this->assertContains('{"my":"data","goes":"here"}' . self::CRLF, $rawRequest); }
/** * Send the request and return the response * * @param Zym_Couch_Request * @return Zym_Couch_Response */ public function send(Zym_Couch_Request $request) { $errorString = ''; $errorNumber = ''; $response = ''; $socket = fsockopen($this->_host, $this->_port, $errorNumber, $errorString); if (!$socket) { /** * @see Zym_Couch_Exception */ require_once 'Zym/Couch/Exception.php'; throw new Zym_Couch_Exception('Failed to open connection to ' . $this->_host . ':' . $this->_port . ' (Error number ' . $errorNumber . ': ' . $errorString . ')'); } fwrite($socket, $request->getRawRequest()); while (!feof($socket)) { $response .= fgets($socket); } fclose($socket); $socket = null; return new Zym_Couch_Response($response); }