diff --git a/controllers/tonglian_callback.go b/controllers/tonglian_callback.go index 95ad531ad..6d33cb8c2 100644 --- a/controllers/tonglian_callback.go +++ b/controllers/tonglian_callback.go @@ -1,6 +1,8 @@ package controllers import ( + "bytes" + "io/ioutil" "net/http" "git.rosy.net.cn/jx-callback/globals/api" @@ -10,6 +12,7 @@ import ( "git.rosy.net.cn/jx-callback/globals" "github.com/astaxie/beego" + "github.com/astaxie/beego/context" ) type TongLianController struct { @@ -18,7 +21,7 @@ type TongLianController struct { func (c *TongLianController) Msg() { if c.Ctx.Input.Method() == http.MethodPost { - call, err := api.TLpayAPI.GetCallbackMsg(c.Ctx.Request) + call, err := api.TLpayAPI.GetCallbackMsg(getUsefulRequest2(c.Ctx)) globals.SugarLogger.Debugf("tonglianapi callback callbackResponse:%s", utils.Format4Output(call, true)) if err == nil { err = localjx.OnTLPayCallback(call) @@ -29,3 +32,8 @@ func (c *TongLianController) Msg() { c.Abort("404") } } + +func getUsefulRequest2(ctx *context.Context) *http.Request { + ctx.Request.Body = ioutil.NopCloser(bytes.NewReader(ctx.Input.RequestBody)) + return ctx.Request +}