func (client *Client) GetTokens() (tokes []map[string]string, err error) { url := client.ApiUri + "/tokens" htclient := setHttpClient(client) req, _ := http.NewRequest("GET", url, nil) req.Header.Add("content-type", "application/json") req.Header.Add("accept", "application/json") req.Header.Add("X-accept-version", "2.0.0") publ := ku.ExtractCompressedPublicKey(client.Pem) req.Header.Add("X-Identity", publ) sig := ku.Sign(url, client.Pem) req.Header.Add("X-Signature", sig) response, _ := htclient.Do(req) defer response.Body.Close() contents, _ := ioutil.ReadAll(response.Body) var jsonContents map[string]interface{} json.Unmarshal(contents, &jsonContents) if response.StatusCode/100 != 2 { err = processErrorMessage(response, jsonContents) } else { this, _ := json.Marshal(jsonContents["data"]) json.Unmarshal(this, &tokes) err = nil } return tokes, nil }
func (client *Client) Post(path string, paylo map[string]string) (response *http.Response, err error) { url := client.ApiUri + "/" + path htclient := setHttpClient(client) payload, _ := json.Marshal(paylo) req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload)) req.Header.Add("content-type", "application/json") req.Header.Add("accept", "application/json") req.Header.Add("X-accept-version", "2.0.0") publ := ku.ExtractCompressedPublicKey(client.Pem) req.Header.Add("X-Identity", publ) sig := ku.Sign(url+string(payload), client.Pem) req.Header.Add("X-Signature", sig) response, err = htclient.Do(req) return response, err }