diff --git a/output/run.go b/output/run.go index 1949f5b..8118b48 100644 --- a/output/run.go +++ b/output/run.go @@ -97,8 +97,10 @@ func RunHandler(w http.ResponseWriter, r *http.Request) { if nil != wsChannel { channelRet["cmd"] = "run" channelRet["output"] = "" - wsChannel.WriteJSON(&channelRet) - wsChannel.Refresh() + if nil != wsChannel { + wsChannel.WriteJSON(&channelRet) + wsChannel.Refresh() + } } go func(runningId int) { @@ -117,8 +119,10 @@ func RunHandler(w http.ResponseWriter, r *http.Request) { channelRet["cmd"] = "run" channelRet["output"] = oneRuneStr + "\n" wsChannel := session.OutputWS[sid] - wsChannel.WriteJSON(&channelRet) - wsChannel.Refresh() + if nil != wsChannel { + wsChannel.WriteJSON(&channelRet) + wsChannel.Refresh() + } } }() @@ -130,8 +134,10 @@ func RunHandler(w http.ResponseWriter, r *http.Request) { channelRet["cmd"] = "run" channelRet["output"] = "" + oneRuneStr + "" wsChannel := session.OutputWS[sid] - wsChannel.WriteJSON(&channelRet) - wsChannel.Refresh() + if nil != wsChannel { + wsChannel.WriteJSON(&channelRet) + wsChannel.Refresh() + } } cmd.Wait() @@ -145,8 +151,10 @@ func RunHandler(w http.ResponseWriter, r *http.Request) { } else { channelRet["output"] = "\nrun program complete\n" } - wsChannel.WriteJSON(&channelRet) - wsChannel.Refresh() + if nil != wsChannel { + wsChannel.WriteJSON(&channelRet) + wsChannel.Refresh() + } }(rand.Int()) } diff --git a/playground/run.go b/playground/run.go index acba401..c538efd 100644 --- a/playground/run.go +++ b/playground/run.go @@ -109,8 +109,10 @@ func RunHandler(w http.ResponseWriter, r *http.Request) { if nil != wsChannel { channelRet["cmd"] = "run" channelRet["output"] = "" - wsChannel.WriteJSON(&channelRet) - wsChannel.Refresh() + if nil != wsChannel { + wsChannel.WriteJSON(&channelRet) + wsChannel.Refresh() + } } go func(runningId int) { @@ -129,8 +131,10 @@ func RunHandler(w http.ResponseWriter, r *http.Request) { channelRet["cmd"] = "run" channelRet["output"] = oneRuneStr + "\n" wsChannel := session.OutputWS[sid] - wsChannel.WriteJSON(&channelRet) - wsChannel.Refresh() + if nil != wsChannel { + wsChannel.WriteJSON(&channelRet) + wsChannel.Refresh() + } } }() @@ -142,8 +146,10 @@ func RunHandler(w http.ResponseWriter, r *http.Request) { channelRet["cmd"] = "run" channelRet["output"] = "" + oneRuneStr + "" wsChannel := session.OutputWS[sid] - wsChannel.WriteJSON(&channelRet) - wsChannel.Refresh() + if nil != wsChannel { + wsChannel.WriteJSON(&channelRet) + wsChannel.Refresh() + } } cmd.Wait() @@ -157,8 +163,10 @@ func RunHandler(w http.ResponseWriter, r *http.Request) { } else { channelRet["output"] = "\nrun program complete\n" } - wsChannel.WriteJSON(&channelRet) - wsChannel.Refresh() + if nil != wsChannel { + wsChannel.WriteJSON(&channelRet) + wsChannel.Refresh() + } }(rand.Int()) }