MCPcopy Index your code
hub / github.com/Monibuca/engine / WsRemote

Method WsRemote

config/types.go:273–327  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

271 return len(b), websocket.Message.Send(w.Conn, b)
272}
273func (cfg *Engine) WsRemote() {
274 for {
275 conn, err := websocket.Dial(cfg.Server, "", "https://console.monibuca.com")
276 wr := &myWsWriter{Conn: conn}
277 if err != nil {
278 log.Error("connect to console server ", cfg.Server, " ", err)
279 time.Sleep(time.Second * 5)
280 continue
281 }
282 if err = websocket.Message.Send(conn, cfg.Secret); err != nil {
283 time.Sleep(time.Second * 5)
284 continue
285 }
286 var rMessage map[string]interface{}
287 if err := websocket.JSON.Receive(conn, &rMessage); err == nil {
288 if rMessage["code"].(float64) != 0 {
289 log.Error("connect to console server ", cfg.Server, " ", rMessage["msg"])
290 return
291 } else {
292 log.Info("connect to console server ", cfg.Server, " success")
293 }
294 }
295 for {
296 var msg string
297 err := websocket.Message.Receive(conn, &msg)
298 if err != nil {
299 log.Error("read console server error:", err)
300 break
301 } else {
302 b, a, f := strings.Cut(msg, "\n")
303 if f {
304 if len(a) > 0 {
305 req, err := http.NewRequest("POST", b, strings.NewReader(a))
306 if err != nil {
307 log.Error("read console server error:", err)
308 break
309 }
310 h, _ := cfg.mux.Handler(req)
311 h.ServeHTTP(wr, req)
312 } else {
313 req, err := http.NewRequest("GET", b, nil)
314 if err != nil {
315 log.Error("read console server error:", err)
316 break
317 }
318 h, _ := cfg.mux.Handler(req)
319 h.ServeHTTP(wr, req)
320 }
321 } else {
322
323 }
324 }
325 }
326 }
327}
328
329func (cfg *Engine) OnEvent(event any) {
330 switch v := event.(type) {

Callers 1

OnEventMethod · 0.95

Calls 7

ErrorFunction · 0.92
InfoFunction · 0.92
SendMethod · 0.80
ServeHTTPMethod · 0.80
ReceiveMethod · 0.65
HandlerMethod · 0.65
NewReaderMethod · 0.45

Tested by

no test coverage detected