diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2020-12-12 23:33:19 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-12 16:33:19 +0100 |
commit | 9f100a45c6f65d9f41f619d3c683361cad0f72fc (patch) | |
tree | a64326a18f120f07f1923316d93687d0dae32ebd | |
parent | 6074e13c8d26084bc74de38bb7414a971fd5fbf8 (diff) | |
download | gitea-9f100a45c6f65d9f41f619d3c683361cad0f72fc.tar.gz gitea-9f100a45c6f65d9f41f619d3c683361cad0f72fc.zip |
Possible fix the webhook API creation (#13960)
* Possible fix the webhook API creation
* Fix api create webhook bug
-rw-r--r-- | routers/api/v1/utils/hook.go | 3 | ||||
-rw-r--r-- | services/webhook/webhook.go | 7 |
2 files changed, 7 insertions, 3 deletions
diff --git a/routers/api/v1/utils/hook.go b/routers/api/v1/utils/hook.go index c8471184f5..8decc5cf43 100644 --- a/routers/api/v1/utils/hook.go +++ b/routers/api/v1/utils/hook.go @@ -6,6 +6,7 @@ package utils import ( "encoding/json" + "fmt" "net/http" "strings" @@ -53,7 +54,7 @@ func GetRepoHook(ctx *context.APIContext, repoID, hookID int64) (*models.Webhook // write the appropriate error to `ctx`. Return whether the form is valid func CheckCreateHookOption(ctx *context.APIContext, form *api.CreateHookOption) bool { if !webhook.IsValidHookTaskType(form.Type) { - ctx.Error(http.StatusUnprocessableEntity, "", "Invalid hook type") + ctx.Error(http.StatusUnprocessableEntity, "", fmt.Sprintf("Invalid hook type: %s", form.Type)) return false } for _, name := range []string{"url", "content_type"} { diff --git a/services/webhook/webhook.go b/services/webhook/webhook.go index a86d638ab5..b779b38466 100644 --- a/services/webhook/webhook.go +++ b/services/webhook/webhook.go @@ -60,12 +60,15 @@ var ( // RegisterWebhook registers a webhook func RegisterWebhook(name string, webhook *webhook) { - webhooks[models.HookTaskType(name)] = webhook + webhooks[models.HookTaskType(strings.TrimSpace(name))] = webhook } // IsValidHookTaskType returns true if a webhook registered func IsValidHookTaskType(name string) bool { - _, ok := webhooks[models.HookTaskType(name)] + if name == models.GITEA || name == models.GOGS { + return true + } + _, ok := webhooks[models.HookTaskType(strings.TrimSpace(name))] return ok } |