(w http.ResponseWriter, r *http.Request)
| 540 | } |
| 541 | |
| 542 | func 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: |
nothing calls this directly
no test coverage detected