summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/websocket.go39
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 {