From 3fec63b6e16bac99b4cd07e8bea4674ba07fa4c4 Mon Sep 17 00:00:00 2001 From: ascloud-systems Date: Sat, 25 Mar 2017 15:30:02 +0000 Subject: [PATCH] Encode values or the requests to CS APi will fail ocassionally --- cloudstack.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cloudstack.go b/cloudstack.go index 683625e..5ff5bb4 100644 --- a/cloudstack.go +++ b/cloudstack.go @@ -308,7 +308,10 @@ func (c *Client) GenerateQueryURL(command string, params map[string]interface{}) sort.Strings(keys) params := make([]string, 0, len(keys)) for _, k := range keys { - params = append(params, fmt.Sprintf("%s=%s", k, values[k][0])) + //params = append(params, fmt.Sprintf("%s=%s", k, values[k][0])) + //Encode the "values" or it will break ocassionally + encodedValue := url.QueryEscape(values[k][0]) + params = append(params, fmt.Sprintf("%s=%s", k, encodedValue)) } queryStr := strings.Join(params, "&") signature := sign(queryStr, c.SecretKey)