--- /dev/null
+package servicemgr
+
+import (
+ "encoding/json"
+ "errors"
+ "log"
+ "net/http"
+)
+
+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)
+ panic(err)
+ }
+}
+
+// CreateServiceHandler function
+func CreateServiceHandler(w http.ResponseWriter, req *http.Request) (ServiceParam, error) {
+ decoder := json.NewDecoder(req.Body)
+
+ serviceParam := ServiceParam{}
+ err := decoder.Decode(&serviceParam)
+ if err != nil {
+ log.Println(err)
+ return serviceParam, err
+ }
+
+ return serviceParam, nil
+}
+
+// ExecuteServiceHandler function
+func ExecuteServiceHandler(w http.ResponseWriter, req *http.Request, serviceID uint64) (DistService, error) {
+ distService := DistService{}
+
+ if checkServiceName(serviceID) == false {
+ return distService, errInvalidService
+ }
+
+ decoder := json.NewDecoder(req.Body)
+ err := decoder.Decode(&distService)
+ if err != nil {
+ return distService, err
+ }
+
+ return distService, nil
+}
+
+// DeleteServiceHandler function
+func DeleteServiceHandler(w http.ResponseWriter, req *http.Request, serviceID uint64) error {
+ 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) 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
+}
+++ /dev/null
-package servicemgr
-
-import (
- "encoding/json"
- "errors"
- "log"
- "net/http"
- "os/exec"
-)
-
-var errInvalidService = errors.New("It is Invalid Service")
-
-func checkHTTPError(w http.ResponseWriter, err error) {
- if err != nil {
- http.Error(w, err.Error(), http.StatusInternalServerError)
- panic(err)
- }
-}
-
-// CreateServiceHandler function
-func CreateServiceHandler(w http.ResponseWriter, req *http.Request) (ServiceParam, error) {
- decoder := json.NewDecoder(req.Body)
-
- serviceParam := ServiceParam{}
- err := decoder.Decode(&serviceParam)
- if err != nil {
- log.Println(err)
- return serviceParam, err
- }
-
- return serviceParam, nil
-}
-
-// ExecuteServiceHandler function
-func ExecuteServiceHandler(w http.ResponseWriter, req *http.Request, serviceID uint64) (DistService, error) {
- decoder := json.NewDecoder(req.Body)
-
- distService := DistService{}
- err := decoder.Decode(&distService)
- if err != nil {
- return distService, err
- }
-
- return distService, nil
-}
-
-// 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")
- }
-
- 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")
- return errInvalidService
- }
-
- return nil
-}