Skip to content

Commit d6829a3

Browse files
joeybloggsjoeybloggs
authored andcommitted
Wired Up All Event types
1 parent c6507a6 commit d6829a3

File tree

2 files changed

+94
-6
lines changed

2 files changed

+94
-6
lines changed

README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,8 @@
1-
# webhooks
1+
Library webhooks
2+
================
3+
4+
[![GoDoc](https://godoc.org/github.com/joeybloggs/webhooks?status.svg)](https://godoc.org/github.com/joeybloggs/webhooks)
5+
26
Source control webhook reciever for GitHub
7+
8+
### In Development

github/github.go

Lines changed: 87 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -133,15 +133,97 @@ func (hook Webhook) ParsePayload(w http.ResponseWriter, r *http.Request) {
133133
}
134134
}
135135

136-
var results interface{}
137-
138136
switch gitHubEvent {
137+
case CommitCommentEvent:
138+
var cc CommitCommentPayload
139+
json.Unmarshal([]byte(payload), &cc)
140+
hook.runProcessPayloadFunc(fn, cc)
141+
case CreateEvent:
142+
var c CreatePayload
143+
json.Unmarshal([]byte(payload), &c)
144+
hook.runProcessPayloadFunc(fn, c)
145+
case DeleteEvent:
146+
var d DeletePayload
147+
json.Unmarshal([]byte(payload), &d)
148+
hook.runProcessPayloadFunc(fn, d)
149+
case DeploymentEvent:
150+
var d DeploymentPayload
151+
json.Unmarshal([]byte(payload), &d)
152+
hook.runProcessPayloadFunc(fn, d)
153+
case DeploymentStatusEvent:
154+
var d DeploymentStatusPayload
155+
json.Unmarshal([]byte(payload), &d)
156+
hook.runProcessPayloadFunc(fn, d)
157+
case ForkEvent:
158+
var f ForkPayload
159+
json.Unmarshal([]byte(payload), &f)
160+
hook.runProcessPayloadFunc(fn, f)
161+
case GollumEvent:
162+
var g GollumPayload
163+
json.Unmarshal([]byte(payload), &g)
164+
hook.runProcessPayloadFunc(fn, g)
165+
case IssueCommentEvent:
166+
var i IssueCommentPayload
167+
json.Unmarshal([]byte(payload), &i)
168+
hook.runProcessPayloadFunc(fn, i)
169+
case IssuesEvent:
170+
var i IssuesPayload
171+
json.Unmarshal([]byte(payload), &i)
172+
hook.runProcessPayloadFunc(fn, i)
173+
case MemberEvent:
174+
var m MemberPayload
175+
json.Unmarshal([]byte(payload), &m)
176+
hook.runProcessPayloadFunc(fn, m)
177+
case MembershipEvent:
178+
var m MembershipPayload
179+
json.Unmarshal([]byte(payload), &m)
180+
hook.runProcessPayloadFunc(fn, m)
181+
case PageBuildEvent:
182+
var p PageBuildPayload
183+
json.Unmarshal([]byte(payload), &p)
184+
hook.runProcessPayloadFunc(fn, p)
185+
case PublicEvent:
186+
var p PublicPayload
187+
json.Unmarshal([]byte(payload), &p)
188+
hook.runProcessPayloadFunc(fn, p)
189+
case PullRequestReviewCommentEvent:
190+
var p PullRequestReviewCommentPayload
191+
json.Unmarshal([]byte(payload), &p)
192+
hook.runProcessPayloadFunc(fn, p)
193+
case PullRequestEvent:
194+
var p PullRequestPayload
195+
json.Unmarshal([]byte(payload), &p)
196+
hook.runProcessPayloadFunc(fn, p)
197+
case PushEvent:
198+
var p PushPayload
199+
json.Unmarshal([]byte(payload), &p)
200+
hook.runProcessPayloadFunc(fn, p)
201+
case RepositoryEvent:
202+
var r RepositoryPayload
203+
json.Unmarshal([]byte(payload), &r)
204+
hook.runProcessPayloadFunc(fn, r)
139205
case ReleaseEvent:
140-
var release ReleasePayload
141-
json.Unmarshal([]byte(payload), &release)
142-
results = release
206+
var r ReleasePayload
207+
json.Unmarshal([]byte(payload), &r)
208+
hook.runProcessPayloadFunc(fn, r)
209+
case StatusEvent:
210+
var s StatusPayload
211+
json.Unmarshal([]byte(payload), &s)
212+
hook.runProcessPayloadFunc(fn, s)
213+
case TeamAddEvent:
214+
var t TeamAddPayload
215+
json.Unmarshal([]byte(payload), &t)
216+
hook.runProcessPayloadFunc(fn, t)
217+
case WatchEvent:
218+
var w WatchPayload
219+
json.Unmarshal([]byte(payload), &w)
220+
hook.runProcessPayloadFunc(fn, w)
221+
default:
222+
http.Error(w, "400 Bad Request - Unknown Event "+event, http.StatusBadRequest)
143223
}
224+
}
144225

226+
func (hook Webhook) runProcessPayloadFunc(fn webhooks.ProcessPayloadFunc, results interface{}) {
145227
go func(fn webhooks.ProcessPayloadFunc, results interface{}) {
146228

147229
// put in recovery here!

0 commit comments

Comments
 (0)