mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-28 06:33:50 +03:00
Possible fix the webhook API creation (#13960)
* Possible fix the webhook API creation * Fix api create webhook bug
This commit is contained in:
parent
6074e13c8d
commit
9f100a45c6
2 changed files with 7 additions and 3 deletions
|
@ -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"} {
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue