Fixed JSON parsing

rc-1.25 v1.25.2
kjubybot 3 years ago
parent 3164793f69
commit 28db919ffa

@ -25,7 +25,6 @@ Visit https://github.com/rudecs/terraform-provider-decort for full source code p
package decort package decort
import ( import (
"bytes" "bytes"
"crypto/tls" "crypto/tls"
"fmt" "fmt"
@ -34,6 +33,7 @@ import (
"net/url" "net/url"
"strconv" "strconv"
"strings" "strings"
// "time" // "time"
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
@ -42,7 +42,6 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
// "github.com/hashicorp/terraform-plugin-sdk/terraform" // "github.com/hashicorp/terraform-plugin-sdk/terraform"
) )
// enumerated constants that define authentication modes // enumerated constants that define authentication modes
@ -137,7 +136,7 @@ func ControllerConfigure(d *schema.ResourceData) (*ControllerCfg, error) {
if allow_unverified_ssl { if allow_unverified_ssl {
log.Warn("ControllerConfigure: allow_unverified_ssl is set - will not check certificates!") log.Warn("ControllerConfigure: allow_unverified_ssl is set - will not check certificates!")
transCfg := &http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: true},} transCfg := &http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: true}}
ret_config.cc_client = &http.Client{ ret_config.cc_client = &http.Client{
Transport: transCfg, Transport: transCfg,
Timeout: Timeout180s, Timeout: Timeout180s,
@ -195,7 +194,7 @@ func ControllerConfigure(d *schema.ResourceData) (*ControllerCfg, error) {
return ret_config, nil return ret_config, nil
} }
func (config *ControllerCfg) getDecortUsername() (string) { func (config *ControllerCfg) getDecortUsername() string {
return config.decort_username return config.decort_username
} }
@ -373,6 +372,7 @@ func (config *ControllerCfg) decortAPICall(method string, api_name string, url_v
} }
req.Header.Set("Content-Type", "application/x-www-form-urlencoded") req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
req.Header.Set("Content-Length", strconv.Itoa(len(params_str))) req.Header.Set("Content-Length", strconv.Itoa(len(params_str)))
req.Header.Set("Accept", "application/json")
if config.auth_mode_code == MODE_OAUTH2 || config.auth_mode_code == MODE_JWT { if config.auth_mode_code == MODE_OAUTH2 || config.auth_mode_code == MODE_JWT {
req.Header.Set("Authorization", fmt.Sprintf("bearer %s", config.jwt)) req.Header.Set("Authorization", fmt.Sprintf("bearer %s", config.jwt))
@ -385,13 +385,12 @@ func (config *ControllerCfg) decortAPICall(method string, api_name string, url_v
defer resp.Body.Close() defer resp.Body.Close()
if resp.StatusCode == http.StatusOK { if resp.StatusCode == http.StatusOK {
tmp_body, err := ioutil.ReadAll(resp.Body) body, err := ioutil.ReadAll(resp.Body)
if err != nil { if err != nil {
return "", err return "", err
} }
json_resp := Jo2JSON(string(tmp_body)) log.Debugf("decortAPICall: %s %s\n %s", method, api_name, body)
log.Debugf("decortAPICall: %s %s\n %s", method, api_name, json_resp) return string(body), nil
return json_resp, nil
} else { } else {
return "", fmt.Errorf("decortAPICall: unexpected status code %d when calling API %q with request Body %q", return "", fmt.Errorf("decortAPICall: unexpected status code %d when calling API %q with request Body %q",
resp.StatusCode, req.URL, params_str) resp.StatusCode, req.URL, params_str)
@ -405,4 +404,3 @@ func (config *ControllerCfg) decortAPICall(method string, api_name string, url_v
return "", err return "", err
} }

Loading…
Cancel
Save