diff options
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/websocket.go | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/tools/websocket.go b/tools/websocket.go index b956ee8..31c39fb 100644 --- a/tools/websocket.go +++ b/tools/websocket.go @@ -35,16 +35,7 @@ func main() { } defer c.Close() - go func() { - for { - _, message, err := c.ReadMessage() - if err != nil { - log.Println("read:", err) - return - } - log.Printf("recv: %s", message) - } - }() + go rx(c) getConfig(c) @@ -89,26 +80,40 @@ func getConfig(c *websocket.Conn) { tx(c, request) } -func tx(c *websocket.Conn, d string) { - input := []byte(d) +func rx(c *websocket.Conn) { + for { + _, message, err := c.ReadMessage() + if err != nil { + log.Println("read:", err) + return + } + log.Println(quote(prettify(string(message)), "< ")) + } +} - var parsed any +func tx(c *websocket.Conn, d string) { + log.Println(quote(prettify(d), "> ")) - err := json.Unmarshal(input, &parsed) + err := c.WriteMessage(websocket.TextMessage, []byte(d)) if err != nil { log.Fatal(err) } +} - pretty, err := json.MarshalIndent(parsed, "", " ") +func prettify(input string) string { + var parsed any + + err := json.Unmarshal([]byte(input), &parsed) if err != nil { log.Fatal(err) } - log.Println(quote(string(pretty), "> ")) - err = c.WriteMessage(websocket.TextMessage, pretty) + pretty, err := json.MarshalIndent(parsed, "", " ") if err != nil { log.Fatal(err) } + + return string(pretty) } func quote(input string, quotation string) string { |
