diff --git a/rwthdns.go b/rwthdns.go index 210d5fbf461f6f97b1a756db7adf1ebf64df6276..f84b601f685b4237fcd0a7a1b21ed7a392a4130a 100644 --- a/rwthdns.go +++ b/rwthdns.go @@ -3,6 +3,7 @@ package rwthdns import ( "encoding/json" "fmt" + "io" "net/http" "net/url" "strings" @@ -155,9 +156,18 @@ func (c *Client) CreateRecord(content string) (Record, error) { return Record{}, err } - dec := json.NewDecoder(res.Body) + b, err := io.ReadAll(res.Body) + if err != nil { + return Record{}, err + } + bs := string(b) + + dec := json.NewDecoder(strings.NewReader(bs)) var r Record err = dec.Decode(&r) + if err != nil { + err = fmt.Errorf("Decode: %w (%s)", err, bs) + } return r, err }