This repository has been archived on 2023-07-05. You can view files and clone it, but cannot push or open issues or pull requests.
clessy/broker/webhook.go

34 lines
644 B
Go

package main
import (
"encoding/json"
"log"
"net/http"
"github.com/hamcha/clessy/tg"
)
func webhook(rw http.ResponseWriter, req *http.Request) {
defer req.Body.Close()
// Re-encode request to ensure conformity
var update tg.APIUpdate
err := json.NewDecoder(req.Body).Decode(&update)
if err != nil {
log.Println("[webhook] Received incorrect request: " + err.Error())
return
}
data, err := json.Marshal(tg.BrokerUpdate{
Type: tg.BMessage,
Message: &(update.Message),
Callback: nil,
})
if err != nil {
log.Println("[webhook] Cannot re-encode json (??) : " + err.Error())
return
}
broadcast(string(data))
}