示例#1
0
文件: Http.php 项目: grlf/eyedock
 public static function put($path, $params = null)
 {
     $response = self::_doRequest('PUT', $path, self::_buildXml($params));
     $responseCode = $response['status'];
     if ($responseCode === 200 || $responseCode === 201 || $responseCode === 422) {
         return Braintree_Xml::buildArrayFromXml($response['body']);
     } else {
         Braintree_Util::throwStatusCodeException($responseCode);
     }
 }
示例#2
0
 public function put($path, $params = null)
 {
     $body = http_build_query(Braintree_Util::camelCaseToDelimiterArray($params, '_'));
     $response = $this->_doRequest('PUT', $path, $body);
     $responseCode = $response['status'];
     if ($responseCode === 200 || $responseCode === 201 || $responseCode === 422 || $responseCode === 400) {
         return Braintree_Util::delimiterToCamelCaseArray(json_decode($response['body'], true), '_');
     } else {
         Braintree_Util::throwStatusCodeException($responseCode);
     }
 }
 /**
  * @expectedException Braintree_Exception_Unexpected
  */
 function testThrowUnknownException()
 {
     Braintree_Util::throwStatusCodeException(999);
 }
 public function parseAndValidateQueryString($queryString)
 {
     // parse the params into an array
     parse_str($queryString, $params);
     // remove the hash
     $queryStringWithoutHash = null;
     if (preg_match('/^(.*)&hash=[a-f0-9]+$/', $queryString, $match)) {
         $queryStringWithoutHash = $match[1];
     }
     if ($params['http_status'] != '200') {
         $message = null;
         if (array_key_exists('bt_message', $params)) {
             $message = $params['bt_message'];
         }
         Braintree_Util::throwStatusCodeException($params['http_status'], $message);
     }
     // recreate the hash and compare it
     if ($this->_hash($queryStringWithoutHash) == $params['hash']) {
         return $params;
     } else {
         throw new Braintree_Exception_ForgedQueryString();
     }
 }