From 6ba859a86e140988cc64df3bc735844980a2a8c7 Mon Sep 17 00:00:00 2001 From: rfyiamcool Date: Tue, 23 Jan 2024 14:50:52 +0800 Subject: [PATCH 1/2] feat: format message type Signed-off-by: rfyiamcool --- conn.go | 12 ++++++++++++ conn_test.go | 17 +++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/conn.go b/conn.go index f8571102..2ac19e9a 100644 --- a/conn.go +++ b/conn.go @@ -1263,3 +1263,15 @@ func FormatCloseMessage(closeCode int, text string) []byte { copy(buf[2:], text) return buf } + +var messageTypes = map[int]string{ + TextMessage: "TextMessage", + BinaryMessage: "BinaryMessage", + CloseMessage: "CloseMessage", + PingMessage: "PingMessage", + PongMessage: "PongMessage", +} + +func FormatMessageType(mt int) string { + return messageTypes[mt] +} diff --git a/conn_test.go b/conn_test.go index a3dde2de..f0c29c39 100644 --- a/conn_test.go +++ b/conn_test.go @@ -797,3 +797,20 @@ func TestFailedConnectionReadPanic(t *testing.T) { } t.Fatal("should not get here") } + +func TestFormatMessageType(t *testing.T) { + str := FormatMessageType(TextMessage) + if str != messageTypes[TextMessage] { + t.Error("failed to format message type") + } + + str = FormatMessageType(CloseMessage) + if str != messageTypes[CloseMessage] { + t.Error("failed to format message type") + } + + str = FormatMessageType(123) + if str != messageTypes[123] { + t.Error("failed to format message type") + } +} From 95fef2623801b90f10672630c9315a62cca5d450 Mon Sep 17 00:00:00 2001 From: rfyiamcool Date: Tue, 23 Jan 2024 15:02:44 +0800 Subject: [PATCH 2/2] feat: format message type Signed-off-by: rfyiamcool --- examples/echo/client.go | 4 ++-- examples/echo/server.go | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/echo/client.go b/examples/echo/client.go index 7d870bdf..d53b81c8 100644 --- a/examples/echo/client.go +++ b/examples/echo/client.go @@ -41,12 +41,12 @@ func main() { go func() { defer close(done) for { - _, message, err := c.ReadMessage() + mt, message, err := c.ReadMessage() if err != nil { log.Println("read:", err) return } - log.Printf("recv: %s", message) + log.Printf("recv: %s, type: %s", message, websocket.FormatMessageType(mt)) } }() diff --git a/examples/echo/server.go b/examples/echo/server.go index f9a0b7b5..9804e6b2 100644 --- a/examples/echo/server.go +++ b/examples/echo/server.go @@ -33,7 +33,8 @@ func echo(w http.ResponseWriter, r *http.Request) { log.Println("read:", err) break } - log.Printf("recv: %s", message) + + log.Printf("recv: %s, type: %s", message, websocket.FormatMessageType(mt)) err = c.WriteMessage(mt, message) if err != nil { log.Println("write:", err)