MCPcopy Index your code
hub / github.com/Threadfin/Threadfin / WS

Function WS

src/webserver.go:542–883  ·  view source on GitHub ↗
(w http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

540}
541
542func WS(w http.ResponseWriter, r *http.Request) {
543
544 var request RequestStruct
545 var response ResponseStruct
546 response.Status = true
547
548 var newToken string
549
550 upgrader := websocket.Upgrader{
551 ReadBufferSize: 1024,
552 WriteBufferSize: 1024,
553 CheckOrigin: func(r *http.Request) bool {
554
555 return true
556 },
557 }
558
559 conn, err := upgrader.Upgrade(w, r, nil)
560 if err != nil {
561 ShowError(err, 0)
562 http.Error(w, "Could not open websocket connection", http.StatusBadRequest)
563 return
564 }
565
566 addWSConnection(conn)
567 defer removeWSConnection(conn)
568
569 conn.SetPongHandler(func(string) error {
570 conn.SetReadDeadline(time.Now().Add(60 * time.Second))
571 return nil
572 })
573
574 conn.SetReadDeadline(time.Now().Add(60 * time.Second))
575
576 systemMutex.Lock()
577 if Settings.HttpThreadfinDomain != "" {
578 setGlobalDomain(getBaseUrl(Settings.HttpThreadfinDomain, Settings.Port))
579 } else {
580 setGlobalDomain(r.Host)
581 }
582 systemMutex.Unlock()
583
584 for {
585
586 err = conn.ReadJSON(&request)
587
588 if err != nil {
589 return
590 }
591
592 conn.SetReadDeadline(time.Now().Add(60 * time.Second))
593
594 systemMutex.Lock()
595 if System.ConfigurationWizard == false {
596
597 switch Settings.AuthenticationWEB {
598
599 case true:

Callers

nothing calls this directly

Calls 15

GetAllUserDataFunction · 0.92
ShowErrorFunction · 0.85
addWSConnectionFunction · 0.85
removeWSConnectionFunction · 0.85
setGlobalDomainFunction · 0.85
getBaseUrlFunction · 0.85
tokenAuthenticationFunction · 0.85
setDefaultResponseDataFunction · 0.85
updateServerSettingsFunction · 0.85
initBufferVFSFunction · 0.85
saveFilesFunction · 0.85
processStartupWorkflowFunction · 0.85

Tested by

no test coverage detected