From 4ab341e9714b59fa009af44fb7de61642b6e6e86 Mon Sep 17 00:00:00 2001 From: oliverpool Date: Thu, 21 Mar 2024 14:09:49 +0100 Subject: [REFACTOR] webhook gogs endpoint --- services/webhook/gogs.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'services/webhook') diff --git a/services/webhook/gogs.go b/services/webhook/gogs.go index 2ecd9e6d09..e23673ed35 100644 --- a/services/webhook/gogs.go +++ b/services/webhook/gogs.go @@ -4,9 +4,36 @@ package webhook import ( + "net/http" + + webhook_model "code.gitea.io/gitea/models/webhook" webhook_module "code.gitea.io/gitea/modules/webhook" + "code.gitea.io/gitea/services/forms" ) type gogsHandler struct{ defaultHandler } func (gogsHandler) Type() webhook_module.HookType { return webhook_module.GOGS } + +func (gogsHandler) FormFields(bind func(any)) FormFields { + var form struct { + forms.WebhookForm + PayloadURL string `binding:"Required;ValidUrl"` + ContentType int `binding:"Required"` + Secret string + } + bind(&form) + + contentType := webhook_model.ContentTypeJSON + if webhook_model.HookContentType(form.ContentType) == webhook_model.ContentTypeForm { + contentType = webhook_model.ContentTypeForm + } + return FormFields{ + WebhookForm: form.WebhookForm, + URL: form.PayloadURL, + ContentType: contentType, + Secret: form.Secret, + HTTPMethod: http.MethodPost, + Metadata: nil, + } +} -- cgit v1.2.3