github.com/chanxuehong/wechat@v0.0.0-20230222024006-36f0325263cd/internal/debug/callback/debug.go (about) 1 //go:build wechat_debug 2 // +build wechat_debug 3 4 package callback 5 6 import ( 7 "encoding/xml" 8 "io" 9 "log" 10 "net/http" 11 ) 12 13 func DebugPrintRequest(r *http.Request) { 14 log.Println("[WECHAT_DEBUG] [CALLBACK]", r.Method, r.RequestURI) 15 } 16 17 func DebugPrintPlainRequestMessage(msg []byte) { 18 log.Printf("[WECHAT_DEBUG] [CALLBACK] plain request message:\n%s\n", msg) 19 } 20 21 func XmlMarshalResponseMessage(msg interface{}) ([]byte, error) { 22 bs, err := xml.MarshalIndent(msg, "", " ") 23 if err != nil { 24 return nil, err 25 } 26 log.Printf("[WECHAT_DEBUG] [CALLBACK] plain response message:\n%s\n", bs) 27 return bs, nil 28 } 29 30 func XmlEncodeResponseMessage(w io.Writer, msg interface{}) error { 31 bs, err := xml.MarshalIndent(msg, "", " ") 32 if err != nil { 33 return err 34 } 35 log.Printf("[WECHAT_DEBUG] [CALLBACK] plain response message:\n%s\n", bs) 36 37 _, err = w.Write(bs) 38 return err 39 }