Library webhooks allows for easy receiving and parsing of GitFox Webhook Events
Use go get.
go get -u github.com/easysoft/gitfox-webhooks
Then import the package into your own code.
import "github.com/easysoft/gitfox-webhooks"
package main
import (
"net/http"
"github.com/easysoft/gitfox-webhooks/gitfox"
)
func main() {
hook, _ := gitfox.New(gitfox.Options.Secret("MyGitFoxSecret...?"))
http.HandleFunc(path, func(w http.ResponseWriter, r *http.Request) {
payload, err := hook.Parse(r, gitfox.BranchUpdatedEvent)
if err != nil {
if err == gitfox.ErrEventNotFound {
// ok event wasn't one of the ones asked to be parsed
}
}
switch payload.(type) {
case gitfox.BranchUpdatedPayload:
push := payload.(gitfox.BranchUpdatedPayload)
// Do whatever you want from here...
fmt.Printf("%+v", push)
})
http.ListenAndServe(":3000", nil)
}