From 6893403ba7405919c65357a8628d5a5373afddec Mon Sep 17 00:00:00 2001 From: Chia-Chun Tai Date: Mon, 28 Jan 2019 10:22:33 +0800 Subject: [PATCH] Fix unable to update the function value of route (#1081) --- controller/httpTriggerApi.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/controller/httpTriggerApi.go b/controller/httpTriggerApi.go index f70c07a6..952a475d 100644 --- a/controller/httpTriggerApi.go +++ b/controller/httpTriggerApi.go @@ -50,12 +50,17 @@ func (a *API) HTTPTriggerApiList(w http.ResponseWriter, r *http.Request) { a.respondWithSuccess(w, resp) } +// checkHTTPTriggerDuplicates checks whether the tuple (Method, Host, URL) is duplicate or not. func (a *API) checkHTTPTriggerDuplicates(t *crd.HTTPTrigger) error { triggers, err := a.fissionClient.HTTPTriggers(metav1.NamespaceAll).List(metav1.ListOptions{}) if err != nil { return err } for _, ht := range triggers.Items { + if ht.Metadata.UID == t.Metadata.UID { + // Same resource. No need to check. + continue + } if ht.Spec.RelativeURL == t.Spec.RelativeURL && ht.Spec.Method == t.Spec.Method && ht.Spec.Host == t.Spec.Host { return fission.MakeError(fission.ErrorNameExists, fmt.Sprintf("HTTPTrigger with same Host, URL & method already exists (%v)",