fix: allow startup scripts larger than 32k (#12060)

Fixes #12057 and adds a regression test.
This commit is contained in:
Spike Curtis
2024-02-07 22:26:42 +04:00
committed by GitHub
parent 4d63a473b2
commit 151aaadc23
2 changed files with 53 additions and 0 deletions

View File

@ -629,6 +629,9 @@ func (c *wsNetConn) Close() error {
// during read or write will cancel the context, but not close the
// conn. Close should be called to release context resources.
func websocketNetConn(ctx context.Context, conn *websocket.Conn, msgType websocket.MessageType) (context.Context, net.Conn) {
// Set the read limit to 4 MiB -- about the limit for protobufs. This needs to be larger than
// the default because some of our protocols can include large messages like startup scripts.
conn.SetReadLimit(1 << 22)
ctx, cancel := context.WithCancel(ctx)
nc := websocket.NetConn(ctx, conn, msgType)
return ctx, &wsNetConn{