in pkg/interceptor/edp_interceptor.go [155:194]
func (i *EDPInterceptor) processEvent(ctx context.Context, r *triggersv1.InterceptorRequest) (*event_processor.EventInfo, error) {
githubEventType, isGitHubEvent := r.Header["X-Github-Event"]
gitLabEventType, isGitLabEvent := r.Header["X-Gitlab-Event"]
bitbucketEventType, isBitbucketEvent := r.Header["X-Event-Key"]
ns, _ := triggersv1.ParseTriggerID(r.Context.TriggerID)
if isGitLabEvent {
event, err := i.gitLabProcessor.Process(ctx, []byte(r.Body), ns, getEventTypeFromHeader(gitLabEventType))
if err != nil {
return nil, fmt.Errorf("failed to process GitLab event: %w", err)
}
return event, nil
}
if isGitHubEvent {
event, err := i.gitHubProcessor.Process(ctx, []byte(r.Body), ns, getEventTypeFromHeader(githubEventType))
if err != nil {
return nil, fmt.Errorf("failed to process GitHub event: %w", err)
}
return event, nil
}
if isBitbucketEvent {
event, err := i.bitbucketProcessor.Process(ctx, []byte(r.Body), ns, getEventTypeFromHeader(bitbucketEventType))
if err != nil {
return nil, fmt.Errorf("failed to process Bitbucket event: %w", err)
}
return event, nil
}
event, err := i.gerritProcessor.Process(ctx, []byte(r.Body), ns, "")
if err != nil {
return nil, fmt.Errorf("failed to process Gerrit event: %w", err)
}
return event, nil
}