mirror of
https://github.com/m1k1o/neko.git
synced 2024-07-24 14:40:50 +12:00
websockets set max payload log size. (#42)
This commit is contained in:
parent
2ff47ac920
commit
43a649d2c4
@ -23,6 +23,9 @@ const pingPeriod = 10 * time.Second
|
||||
// period for sending inactive cursor messages
|
||||
const inactiveCursorsPeriod = 750 * time.Millisecond
|
||||
|
||||
// maximum payload length for logging
|
||||
const maxPayloadLogLength = 10_000
|
||||
|
||||
// events that are not logged in debug mode
|
||||
var nologEvents = []string{
|
||||
// don't log twice
|
||||
@ -313,10 +316,15 @@ func (manager *WebSocketManagerCtx) handle(connection *websocket.Conn, peer type
|
||||
|
||||
// log events if not ignored
|
||||
if ok, _ := utils.ArrayIn(data.Event, nologEvents); !ok {
|
||||
payload := data.Payload
|
||||
if len(payload) > maxPayloadLogLength {
|
||||
payload = []byte("<truncated>")
|
||||
}
|
||||
|
||||
logger.Debug().
|
||||
Str("address", connection.RemoteAddr().String()).
|
||||
Str("event", data.Event).
|
||||
Str("payload", string(data.Payload)).
|
||||
Str("payload", string(payload)).
|
||||
Msg("received message from client")
|
||||
}
|
||||
|
||||
|
@ -12,6 +12,7 @@ import (
|
||||
"github.com/demodesk/neko/pkg/types"
|
||||
"github.com/demodesk/neko/pkg/types/event"
|
||||
"github.com/demodesk/neko/pkg/types/message"
|
||||
"github.com/demodesk/neko/pkg/utils"
|
||||
)
|
||||
|
||||
type WebSocketPeerCtx struct {
|
||||
@ -60,12 +61,19 @@ func (peer *WebSocketPeerCtx) Send(event string, payload any) {
|
||||
return
|
||||
}
|
||||
|
||||
// log events if not ignored
|
||||
if ok, _ := utils.ArrayIn(event, nologEvents); !ok {
|
||||
if len(raw) > maxPayloadLogLength {
|
||||
raw = []byte("<truncated>")
|
||||
}
|
||||
|
||||
peer.logger.Debug().
|
||||
Str("address", peer.connection.RemoteAddr().String()).
|
||||
Str("event", event).
|
||||
Str("payload", string(raw)).
|
||||
Msg("sending message to client")
|
||||
}
|
||||
}
|
||||
|
||||
func (peer *WebSocketPeerCtx) Ping() error {
|
||||
peer.mu.Lock()
|
||||
|
Loading…
Reference in New Issue
Block a user