control/controlclient: add TS_DEBUG_MAPRESPONSE to dump all MapResponses

I'm always adding this by hand during development. Time to check it in.
pull/763/head
Brad Fitzpatrick 4 years ago
parent 931bcd44cb
commit 88107b1287

@ -717,6 +717,8 @@ func decode(res *http.Response, v interface{}, serverKey *wgcfg.Key, mkey *wgcfg
return decodeMsg(msg, v, serverKey, mkey) return decodeMsg(msg, v, serverKey, mkey)
} }
var dumpMapResponse, _ = strconv.ParseBool(os.Getenv("TS_DEBUG_MAPRESPONSE"))
func (c *Direct) decodeMsg(msg []byte, v interface{}) error { func (c *Direct) decodeMsg(msg []byte, v interface{}) error {
c.mu.Lock() c.mu.Lock()
mkey := c.persist.PrivateMachineKey mkey := c.persist.PrivateMachineKey
@ -741,6 +743,11 @@ func (c *Direct) decodeMsg(msg []byte, v interface{}) error {
return err return err
} }
} }
if dumpMapResponse {
var buf bytes.Buffer
json.Indent(&buf, b, "", " ")
log.Printf("MapResponse: %s", buf.Bytes())
}
if err := json.Unmarshal(b, v); err != nil { if err := json.Unmarshal(b, v); err != nil {
return fmt.Errorf("response: %v", err) return fmt.Errorf("response: %v", err)
} }

Loading…
Cancel
Save