Beispiel #1
0
 /**
  * @param array $headers
  * @param array $userMetadata
  */
 private function populateRequestHeadersWithUserMetadata(array &$headers, array $userMetadata)
 {
     $metaSize = 0;
     foreach ($userMetadata as $key => $value) {
         $key = HttpHeaders::BCE_USER_METADATA_PREFIX . HttpUtils::urlEncode(trim($key));
         $value = HttpUtils::urlEncode($value);
         $metaSize += strlen($key) + strlen($value);
         if ($metaSize > BosClient::MAX_USER_METADATA_SIZE) {
             throw new BceClientException('User metadata size should not be greater than ' . BosClient::MAX_USER_METADATA_SIZE);
         }
         $headers[$key] = $value;
     }
 }
Beispiel #2
0
 /**
  * @param $parameters array
  * @param $forSignature bool
  * @return string
  */
 public static function getCanonicalQueryString(array $parameters, $forSignature)
 {
     if (count($parameters) == 0) {
         return '';
     }
     $parameterStrings = array();
     foreach ($parameters as $k => $v) {
         if ($forSignature && strcasecmp(HttpHeaders::AUTHORIZATION, $k) == 0) {
             continue;
         }
         if (!isset($k)) {
             throw new \InvalidArgumentException("parameter key should not be null");
         }
         if (isset($v)) {
             $parameterStrings[] = HttpUtils::urlEncode($k) . '=' . HttpUtils::urlEncode((string) $v);
         } else {
             if ($forSignature) {
                 $parameterStrings[] = HttpUtils::urlEncode($k) . '=';
             } else {
                 $parameterStrings[] = HttpUtils::urlEncode($k);
             }
         }
     }
     sort($parameterStrings);
     return implode('&', $parameterStrings);
 }