From 530e2c24d2603cf8b6d58ae9cfbb0d291b4c644b Mon Sep 17 00:00:00 2001 From: wdvxdr Date: Sat, 13 Nov 2021 15:16:23 +0800 Subject: [PATCH] fix(server): allow read more bytes in a single message Fixes #1155 --- cmd/api-generator/main.go | 10 ++++------ server/websocket.go | 1 + 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/cmd/api-generator/main.go b/cmd/api-generator/main.go index c908571..3a6a73b 100644 --- a/cmd/api-generator/main.go +++ b/cmd/api-generator/main.go @@ -231,9 +231,6 @@ func cut(s, sep string) (before, after string, found bool) { return s, "", false } -func isASCIIDigit(c byte) bool { return '0' <= c && c <= '9' } -func isASCIILower(c byte) bool { return 'a' <= c && c <= 'z' } - // some abbreviations need translation before transforming ro snake case var replacer = strings.NewReplacer("ID", "Id") @@ -241,11 +238,12 @@ func snakecase(s string) string { s = replacer.Replace(s) t := make([]byte, 0, 32) for i := 0; i < len(s); i++ { - if isASCIILower(s[i]) || isASCIIDigit(s[i]) { - t = append(t, s[i]) + c := s[i] + if ('a' <= c && c <= 'z') || ('0' <= c && c <= '9') { + t = append(t, c) } else { t = append(t, '_') - t = append(t, s[i]^0x20) + t = append(t, c^0x20) } } return string(t) diff --git a/server/websocket.go b/server/websocket.go index 9b1a547..e415ff2 100644 --- a/server/websocket.go +++ b/server/websocket.go @@ -167,6 +167,7 @@ func (c *websocketClient) connect(typ, url string, conptr **wsConn) { func (c *websocketClient) listenAPI(conn *wsConn, u bool) { defer func() { _ = conn.Close(websocket.StatusNormalClosure, "") }() + conn.Conn.SetReadLimit(1024 * 1024 * 128) for { buffer := global.NewBuffer() t, reader, err := conn.Conn.Reader(context.Background())