프로세스 재시작 지원

This commit is contained in:
2023-06-27 09:44:56 +09:00
parent 72e94ccfc3
commit 01b4782e78
7 changed files with 68 additions and 61 deletions

View File

@ -9,6 +9,7 @@ import (
"net/http"
"os"
"path"
"regexp"
"strconv"
"strings"
"time"
@ -294,7 +295,7 @@ func (h *houstonHandler) StartProcess(w http.ResponseWriter, r *http.Request) {
// </form>
name := r.FormValue("name")
version := r.FormValue("version")
args := r.FormValue("args")
argsline := r.FormValue("args")
traws := r.FormValue("targets")
var targets []string
@ -311,6 +312,27 @@ func (h *houstonHandler) StartProcess(w http.ResponseWriter, r *http.Request) {
return
}
re := regexp.MustCompile(`[^\s"']+|"([^"]*)"|'([^']*)`)
argsTemp := re.FindAllString(argsline, -1)
var args []string
for _, arg := range argsTemp {
if strings.HasPrefix(arg, `"`) && len(args) > 0 {
lastarg := args[len(args)-1]
if strings.HasSuffix(lastarg, "=") {
args[len(args)-1] = lastarg + arg
} else {
args = append(args, arg)
}
} else {
args = append(args, arg)
}
}
if len(args) == 0 {
w.WriteHeader(http.StatusBadRequest)
return
}
h.Operation().StartProcess(MakeStartProcessRequest(shared.StartProcessRequest{
Name: name,
Version: version,