package app import ( "net/http" ) // --------------------------------------------------------------------- // routes handlers // --------------------------------------------------------------------- // EN: HTTP handlers for selective routing control plane operations: // EN: status, systemd service/timer control, route cleanup, policy fix, and async update trigger. // RU: HTTP-обработчики control-plane для селективной маршрутизации: // RU: статус, управление service/timer через systemd, очистка, фиксация policy route и запуск обновления. // --------------------------------------------------------------------- // routes service // --------------------------------------------------------------------- func makeCmdHandler(name string, args ...string) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodPost { http.Error(w, "method not allowed", http.StatusMethodNotAllowed) return } stdout, stderr, code, err := runCommand(name, args...) res := cmdResult{ OK: err == nil && code == 0, ExitCode: code, Stdout: stdout, Stderr: stderr, } if err != nil { res.Message = err.Error() } writeJSON(w, http.StatusOK, res) } }