File tree Expand file tree Collapse file tree 2 files changed +6
-6
lines changed
Expand file tree Collapse file tree 2 files changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -783,11 +783,11 @@ suite "Test Payload":
783783
784784 asyncTest " Send text message with multiple frames" :
785785 const FrameSize = 3000
786- let testData = rndStr (FrameSize * 3 )
786+ let testData = rndStr (FrameSize * 3 + 100 )
787787 proc handle (request: HttpRequest ) {.async .} =
788788 check request.uri.path == WSPath
789789
790- let server = WSServer .new (protos = [" proto" ])
790+ let server = WSServer .new (protos = [" proto" ], frameSize = FrameSize )
791791 let ws = await server.handleRequest (request)
792792 let res = await ws.recvMsg ()
793793
Original file line number Diff line number Diff line change @@ -37,21 +37,21 @@ proc writeMessage*(ws: WSSession,
3737 let maxSize = ws.frameSize
3838 var i = 0
3939 while ws.readyState notin {ReadyState .Closing }:
40- let len = min (data.len, maxSize)
40+ let canSend = min (data.len - i , maxSize)
4141 let frame = Frame (
42- fin: if (len + i >= data.len): true else : false ,
42+ fin: if (canSend + i >= data.len): true else : false ,
4343 rsv1: false ,
4444 rsv2: false ,
4545 rsv3: false ,
4646 opcode: if i > 0 : Opcode .Cont else : opcode, # fragments have to be `Continuation` frames
4747 mask: ws.masked,
48- data: data[i ..< len + i],
48+ data: data[i ..< canSend + i],
4949 maskKey: maskKey)
5050
5151 let encoded = await frame.encode (extensions)
5252 await ws.stream.writer.write (encoded)
5353
54- i += len
54+ i += canSend
5555 if i >= data.len:
5656 break
5757
You can’t perform that action at this time.
0 commit comments