From c2665b4bd062e4234fb62bc28436cf32f01be56c Mon Sep 17 00:00:00 2001 From: "jw_wonny.cha" Date: Mon, 18 Mar 2019 20:09:42 +0900 Subject: [PATCH] rename to http_handler from main --- src/servicemgr/{main.go => http_handler.go} | 68 +++++++++++++++++------------ 1 file changed, 40 insertions(+), 28 deletions(-) rename src/servicemgr/{main.go => http_handler.go} (58%) diff --git a/src/servicemgr/main.go b/src/servicemgr/http_handler.go similarity index 58% rename from src/servicemgr/main.go rename to src/servicemgr/http_handler.go index 4b95d4c..f46e64f 100644 --- a/src/servicemgr/main.go +++ b/src/servicemgr/http_handler.go @@ -5,11 +5,19 @@ import ( "errors" "log" "net/http" - "os/exec" ) var errInvalidService = errors.New("It is Invalid Service") +func checkServiceName(serviceID uint64) bool { + _, err := GetServiceName(serviceID) + if err != nil { + log.Println(err.Error()) + return false + } + return true +} + func checkHTTPError(w http.ResponseWriter, err error) { if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) @@ -33,9 +41,13 @@ func CreateServiceHandler(w http.ResponseWriter, req *http.Request) (ServicePara // ExecuteServiceHandler function func ExecuteServiceHandler(w http.ResponseWriter, req *http.Request, serviceID uint64) (DistService, error) { - decoder := json.NewDecoder(req.Body) - distService := DistService{} + + if checkServiceName(serviceID) == false { + return distService, errInvalidService + } + + decoder := json.NewDecoder(req.Body) err := decoder.Decode(&distService) if err != nil { return distService, err @@ -46,38 +58,38 @@ func ExecuteServiceHandler(w http.ResponseWriter, req *http.Request, serviceID u // DeleteServiceHandler function func DeleteServiceHandler(w http.ResponseWriter, req *http.Request, serviceID uint64) error { - cmd, exists := ServiceCmdMap.Get(serviceID) - command, _ := cmd.(*exec.Cmd) - - name, _ := ServiceNameMap.Get(serviceID) - serviceName, _ := name.(string) - - if exists { - err := command.Process.Kill() - if err != nil { - log.Println("Error occured from Process.Kill() : ", err) - return err - } - } else { - log.Println(serviceName, "is not exist service") + if checkServiceName(serviceID) == false { + return errInvalidService + } + + cmd, _ := GetCmd(serviceID) + + err := cmd.Process.Kill() + if err != nil { + log.Println("Error occured from Process.Kill() : ", err) + return err } return nil } -// dataPathHandler function -func dataPathHandler(w http.ResponseWriter, req *http.Request, serviceID uint64, data string) error { - msg, exists := ServiceMsgMap.Get(serviceID) - - if exists { - inputData, _ := msg.(chan string) - inputData <- data - } else { - name, _ := ServiceNameMap.Get(serviceID) - serviceName, _ := name.(string) - log.Println(serviceName, "is not exist service") +// DataPathHandler function +func DataPathHandler(w http.ResponseWriter, req *http.Request, serviceID uint64) error { + if checkServiceName(serviceID) == false { return errInvalidService } + msgChan, _ := GetMsgChan(serviceID) + + decoder := json.NewDecoder(req.Body) + msgFormat := MsgFormat{} + err := decoder.Decode(&msgFormat) + + if err != nil { + return err + } + + msgChan <- msgFormat + return nil } -- 2.7.4