/** * Post event body to event API * @param Event $event * @return bool */ public function postEvent(Event $event) { try { $response = $this->_client->restPost(sprintf('/event/%s', $event->getSubject()), $event->toArray()); $this->_eventLogger->logApiCall($this->_client, $response); } catch (\Zend_Http_Client_Exception $e) { $this->_eventLogger->logApiCallException($this->_client, $e); } return true; }
/** * @group ZF-10664 * * Test that you can post a file using a preset * Zend_Http_Client that has a file to post, * by calling $restClient->setNoReset() prior to issuing the * restPost() call. */ public function testCanPostFileInPresetHttpClient() { $client = new Zend_Rest_Client('http://framework.zend.com'); $httpClient = new Zend_Http_Client(); $text = 'this is some plain text'; $httpClient->setFileUpload('some_text.txt', 'upload', $text, 'text/plain'); $client->setHttpClient($httpClient); $client->setNoReset(); $client->restPost('/file'); $request = $httpClient->getLastRequest(); $this->assertTrue(strpos($request, $text) !== false, 'The file is not in the request'); }
/** * @group ZF-10664 * * Test that you can post a file using a preset * Zend_Http_Client that has a file to post, * by calling $restClient->setNoReset() prior to issuing the * restPost() call. */ public function testCanPostFileInPresetHttpClient() { if (!defined('TESTS_ZEND_REST_ONLINE_ENABLED') || !constant('TESTS_ZEND_REST_ONLINE_ENABLED')) { $this->markTestSkipped('Define TESTS_ZEND_REST_ONLINE_ENABLED to test Zend_Rest_ClientTest online.'); } $client = new Zend_Rest_Client('http://framework.zend.com'); $httpClient = new Zend_Http_Client(); $text = 'this is some plain text'; $httpClient->setFileUpload('some_text.txt', 'upload', $text, 'text/plain'); $client->setHttpClient($httpClient); $client->setNoReset(); $client->restPost('/file'); $request = $httpClient->getLastRequest(); $this->assertTrue(strpos($request, $text) !== false, 'The file is not in the request'); }
/** * @param Zend_Rest_Client $request * @param string $path * @param array $params * @param string $method * @return Zend_Http_Response */ protected function _doRequest($request, $path, $params, $method = 'POST') { if ($this->_isDebugMode()) { $message = "{$method} {$request->getUri()}{$path} with params:\n" . print_r($params, true); Mage::helper('codekunst_payglobe')->log($message); } switch ($method) { case 'POST': default: $response = $request->restPost($path, $params); break; } if ($this->_isDebugMode()) { $message = "Response: {$response->getStatus()} with body:\n{$response->getBody()}"; Mage::helper('codekunst_payglobe')->log($message); } return $response; }
// add to include path set_include_path('../library/' . PATH_SEPARATOR . get_include_path()); // require framework components require_once 'Zend/Json.php'; require_once 'Zend/Rest/Client.php'; require_once 'Zend/Debug.php'; // client $client = new Zend_Rest_Client('http://localhost:5984'); // compose document $document = array(); $document['title'] = 'document title'; $document['content'] = 'document content'; // JSON-ize document $document = Zend_Json::encode($document); // add document (use POST here) $response = $client->restPost('test', $document); // print response Zend_Debug::dump($response); // get document $response = $client->restGet('test/c447a8366d74d880f35720d92d68419e'); // un-Json-ize document $document = Zend_Json::decode($response->getBody()); // print document Zend_Debug::dump($document); // change values $document['title'] = '"updated title!"'; // update document $response = $client->restPut('test/c447a8366d74d880f35720d92d68419e', Zend_Json::encode($document)); // print response Zend_Debug::dump($response); // get all documents
/** * Change the show/hide state of the bar * * @param int $changeTo * @return array */ protected function changeActiveState($changeTo = 1) { $csConfig = Mage::getModel("commercesciences_base/config")->load("1"); if (!$csConfig || !$csConfig->getUserId() || !$csConfig->getSecurityToken()) { //we must be already at least on step 1, so the DB record has to exist return array('error' => $this->__("Error ocurred. Your updates weren't saved. Please contact ComemrceScience for support (error id: 002)")); } // TODO Ron Gross 2/1/2013 - refactor into a method $RESTClient = new Zend_Rest_Client($csConfig->getCsApiUrl()); $httpClient = $RESTClient->getHttpClient(); $httpClient->setConfig(array("timeout" => 30)); try { if ($changeTo) { $response = $RESTClient->restPost("/magento/showBarPost", array('userID' => $csConfig->getUserId(), 'securityToken' => $csConfig->getSecurityToken())); } else { $response = $RESTClient->restPost("/magento/hideBarPost", array('userID' => $csConfig->getUserId(), 'securityToken' => $csConfig->getSecurityToken())); } $responseJson = $response->getBody(); $parsedResponseArr = $this->stdObject2Array(json_decode($responseJson)); if (!isset($parsedResponseArr['good'])) { return $this->__("The CommerceSciences server is currently busy, your updates weren't saved. Please try again later. (error id: 004)"); } if ($parsedResponseArr['good'] == false) { if (isset($parsedResponseArr['fieldErrors']) && $parsedResponseArr['fieldErrors']) { $fieldErrorsArr = $this->stdObject2Array($parsedResponseArr['fieldErrors']); $errorMsg = ''; foreach ($fieldErrorsArr as $field => $fError) { $errorMsg .= "<br />"; $errorMsg .= $this->__($field) . ": " . $this->__($fError); } //remove the last comma $errorMsg = substr($errorMsg, 0, strlen($errorMsg) - 1); return array('error' => $errorMsg); } elseif (isset($parsedResponseArr['globalError']) && $parsedResponseArr['globalError']) { return array('error' => $this->__($parsedResponseArr['globalError'])); } } return array('error' => false, 'data' => $parsedResponseArr['data'] == true ? 1 : 0); } catch (Exception $e) { //timeout or other unhandled exception was thrown return array('error' => $this->__($e->getMessage())); } }