@@ -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