Skip to content

Commit e9b70b0

Browse files
committed
[refactoring] Cleanup server code
1 parent 7f559f0 commit e9b70b0

File tree

1 file changed

+30
-19
lines changed

1 file changed

+30
-19
lines changed

internal/app/controller/server.go

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@ import (
77
"net/http"
88
)
99

10+
// handle incoming web socket connections
1011
func WsHandler(w http.ResponseWriter, r *http.Request) {
11-
upgrader := websocket.Upgrader{
12+
u := websocket.Upgrader{
1213
ReadBufferSize: 1024,
1314
WriteBufferSize: 1024,
1415
CheckOrigin: func(*http.Request) bool { return true },
1516
}
1617

17-
conn, err := upgrader.Upgrade(w, r, nil)
18+
conn, err := u.Upgrade(w, r, nil)
1819
if err != nil {
1920
log.Println(err)
2021
return
@@ -24,8 +25,12 @@ func WsHandler(w http.ResponseWriter, r *http.Request) {
2425

2526
log.Println("Client connected")
2627

27-
go checkForNewEvent(conn)
28+
go listenForNewEvents(conn)
2829

30+
publishState(conn)
31+
}
32+
33+
func publishState(conn *websocket.Conn) {
2934
for {
3035
b, err := json.Marshal(refBox.State)
3136
if err != nil {
@@ -38,31 +43,37 @@ func WsHandler(w http.ResponseWriter, r *http.Request) {
3843
return
3944
}
4045

41-
// wait for a new event
46+
// wait to be notified
4247
<-refBox.notifyUpdateState
4348
}
4449
}
4550

46-
func checkForNewEvent(conn *websocket.Conn) {
51+
func listenForNewEvents(conn *websocket.Conn) {
4752
for {
4853
messageType, b, err := conn.ReadMessage()
4954
if err != nil || messageType != websocket.TextMessage {
50-
log.Println("Could not read message:", err)
55+
log.Println("Could not read message: ", err)
5156
return
5257
}
5358

54-
event := RefBoxEvent{}
55-
err = json.Unmarshal(b, &event)
56-
if err != nil {
57-
log.Println("Could not read event:", string(b), err)
58-
} else {
59-
err = processEvent(&event)
60-
if err != nil {
61-
log.Println("Could not process event:", string(b), err)
62-
} else {
63-
refBox.SaveState()
64-
refBox.Update(event.Command)
65-
}
66-
}
59+
handleNewEventMessage(b)
60+
}
61+
}
62+
63+
func handleNewEventMessage(b []byte) {
64+
event := RefBoxEvent{}
65+
err := json.Unmarshal(b, &event)
66+
if err != nil {
67+
log.Println("Could not read event:", string(b), err)
68+
return
6769
}
70+
71+
err = processEvent(&event)
72+
if err != nil {
73+
log.Println("Could not process event:", string(b), err)
74+
return
75+
}
76+
77+
refBox.SaveState()
78+
refBox.Update(event.Command)
6879
}

0 commit comments

Comments
 (0)