diff --git a/src/BaseCloudStackClient.php b/src/BaseCloudStackClient.php index 0e4d0c0..e8468d3 100644 --- a/src/BaseCloudStackClient.php +++ b/src/BaseCloudStackClient.php @@ -72,9 +72,14 @@ public function request($command, $args = array()) { $args['command'] = $command; $args['response'] = "json"; ksort($args); + $param = array(); + foreach ($args as $k => $v) { + $param[] = $k . "=" . str_replace("+", "%20", urlencode($v)); + } + $queryToSign=implode("&", $param); $query = http_build_query($args); $query = str_replace("+", "%20", $query); - $query .= "&signature=" . $this->getSignature(strtolower($query)); + $query .= "&signature=" . $this->getSignature(strtolower($queryToSign)); $httpRequest = new HttpRequest(); $httpRequest->setMethod(HTTP_METH_POST);