From 4724e7ac319d34b6f49b7921c2a24ac37baaaa5d Mon Sep 17 00:00:00 2001 From: mountain Date: Mon, 22 May 2023 15:40:01 +0900 Subject: [PATCH] =?UTF-8?q?StopProcess=20=EC=9A=94=EC=B2=AD=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/http_api.go | 44 +++++++++++++++++++++++++++++++++--------- server/http_handler.go | 2 +- server/server.go | 2 +- 3 files changed, 37 insertions(+), 11 deletions(-) diff --git a/server/http_api.go b/server/http_api.go index deb5601..c6508f2 100644 --- a/server/http_api.go +++ b/server/http_api.go @@ -6,6 +6,7 @@ import ( "net/http" "os" "path" + "strconv" "time" "repositories.action2quare.com/ayo/go-ayo/logger" @@ -180,13 +181,38 @@ func (h *houstonHandler) StartProcess(w http.ResponseWriter, r *http.Request) { Version: version, Args: args, // 실행 파일 포함 e.g. "biglocal.exe -port=8090 -dev", }, targets)) - - // svr.Operation().Start(server.MakeStartRequest( - // common.StartRequest{ - // Name: "warehouse", - // Version: "latest", - // Args: "biglocal.exe -port=8090 -dev", - // }, - // []string{"mountain"}, - // )) +} + +func (h *houstonHandler) StopProcess(w http.ResponseWriter, r *http.Request) { + //
+ // + // + // + // + // + //
+ name := r.FormValue("name") + if len(name) == 0 { + w.WriteHeader(http.StatusBadRequest) + return + } + + version := r.FormValue("version") // option + pidstr := r.FormValue("pid") // option + traws := r.FormValue("targets") + + var targets []string + if err := json.Unmarshal([]byte(traws), &targets); err != nil { + logger.Error(err) + w.WriteHeader(http.StatusBadRequest) + return + } + + pid, _ := strconv.Atoi(pidstr) + + h.Operation().StopProcess(MakeStopProcessRequest(shared.StopProcessRequest{ + Name: name, + Version: version, + Pid: int32(pid), + }, targets)) } diff --git a/server/http_handler.go b/server/http_handler.go index 90a4ca6..01990fb 100644 --- a/server/http_handler.go +++ b/server/http_handler.go @@ -41,7 +41,7 @@ func NewHoustonHandler() HoustonServerWithHandler { } func (h *houstonHandler) RegisterHandlers(serveMux *http.ServeMux, prefix string) error { - serveMux.Handle(path.Join(prefix, "houston"), h) + serveMux.Handle("/"+path.Join(prefix, "houston"), h) return nil } diff --git a/server/server.go b/server/server.go index ed4762a..251e435 100644 --- a/server/server.go +++ b/server/server.go @@ -58,7 +58,7 @@ type StopProcessRequest struct { hostnames []string } -func MakeStopRequest(req shared.StopProcessRequest, targets []string) StopProcessRequest { +func MakeStopProcessRequest(req shared.StopProcessRequest, targets []string) StopProcessRequest { return StopProcessRequest{ StopProcessRequest: req, hostnames: targets,