Проблема в том, как добавить Webhook в router.go Beego
// WebhookHandler ...
func (c *AuthController) WebhookHandler(w http.ResponseWriter, r *http.Request) {
publicKeyBytes, err := ioutil.ReadFile("***")
if err != nil {
panic(err)
}
block, _ := pem.Decode(publicKeyBytes)
publicKey, err := x509.ParsePKIXPublicKey(block.Bytes)
if err != nil {
panic(err)
}
key := publicKey.(*rsa.PublicKey)
body, err := ioutil.ReadAll(r.Body)
if err != nil {
return
}
event, ok := VerifySignature(key, body)
if !ok {
return
}
fmt.Println(event)
}
Работает на сыром GoLang
http.HandleFunc("/webhook", func(w http.ResponseWriter, r *http.Request) {
***
})
Я пробовал это
beego.Router("/webhook", &controllers.AuthController{}, "*:WebhookHandler")
Но как передать тело запроса контроллеру