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  }