From 97a6322de13ef078877efdbc953ea7958d5e8865 Mon Sep 17 00:00:00 2001 From: Anis Elleuch Date: Wed, 24 Aug 2022 20:34:52 +0100 Subject: [PATCH] Fix regression in notifying peers about new policy mapping (#15583) Switch from mux.Vars() to r.Form to avoid the issue of missing arguments passed to LoadPolicyMappingHandler. --- cmd/peer-rest-server.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/cmd/peer-rest-server.go b/cmd/peer-rest-server.go index c0dc80736..f7ffec67e 100644 --- a/cmd/peer-rest-server.go +++ b/cmd/peer-rest-server.go @@ -118,17 +118,15 @@ func (s *peerRESTServer) LoadPolicyMappingHandler(w http.ResponseWriter, r *http return } - vars := mux.Vars(r) - userOrGroup := vars[peerRESTUserOrGroup] + userOrGroup := r.Form.Get(peerRESTUserOrGroup) if userOrGroup == "" { s.writeErrorResponse(w, errors.New("user-or-group is missing")) return } - userType := -1 - userTypeStr, err := strconv.Atoi(vars[peerRESTUserType]) + userType, err := strconv.Atoi(r.Form.Get(peerRESTUserType)) if err != nil { - s.writeErrorResponse(w, fmt.Errorf("user-type `%d` is invalid: %w", userTypeStr, err)) + s.writeErrorResponse(w, fmt.Errorf("user-type `%s` is invalid: %w", r.Form.Get(peerRESTUserType), err)) return } @@ -1328,7 +1326,7 @@ func registerPeerRESTHandlers(router *mux.Router) { subrouter.Methods(http.MethodPost).Path(peerRESTVersionPrefix + peerRESTMethodCommitBinary).HandlerFunc(httpTraceHdrs(server.CommitBinaryHandler)) subrouter.Methods(http.MethodPost).Path(peerRESTVersionPrefix + peerRESTMethodDeletePolicy).HandlerFunc(httpTraceAll(server.DeletePolicyHandler)).Queries(restQueries(peerRESTPolicy)...) subrouter.Methods(http.MethodPost).Path(peerRESTVersionPrefix + peerRESTMethodLoadPolicy).HandlerFunc(httpTraceAll(server.LoadPolicyHandler)).Queries(restQueries(peerRESTPolicy)...) - subrouter.Methods(http.MethodPost).Path(peerRESTVersionPrefix + peerRESTMethodLoadPolicyMapping).HandlerFunc(httpTraceAll(server.LoadPolicyMappingHandler)).Queries(restQueries(peerRESTUserOrGroup)...) + subrouter.Methods(http.MethodPost).Path(peerRESTVersionPrefix + peerRESTMethodLoadPolicyMapping).HandlerFunc(httpTraceAll(server.LoadPolicyMappingHandler)) subrouter.Methods(http.MethodPost).Path(peerRESTVersionPrefix + peerRESTMethodDeleteUser).HandlerFunc(httpTraceAll(server.DeleteUserHandler)).Queries(restQueries(peerRESTUser)...) subrouter.Methods(http.MethodPost).Path(peerRESTVersionPrefix + peerRESTMethodDeleteServiceAccount).HandlerFunc(httpTraceAll(server.DeleteServiceAccountHandler)).Queries(restQueries(peerRESTUser)...) subrouter.Methods(http.MethodPost).Path(peerRESTVersionPrefix + peerRESTMethodLoadUser).HandlerFunc(httpTraceAll(server.LoadUserHandler)).Queries(restQueries(peerRESTUser, peerRESTUserTemp)...)