Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 /**
  * @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');
 }
Пример #3
0
 /**
  * @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;
 }
Пример #5
0
// 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
Пример #6
0
 /**
  * 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()));
     }
 }