Skip to content

Commit 9cd8705

Browse files
committed
close code should terminate stream
1 parent 3f09332 commit 9cd8705

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

FlyingFox/Sources/WebSocket/WSHandler.swift

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,18 @@ public struct MessageFrameWSHandler: WSHandler {
119119
}
120120
}
121121
group.addTask {
122-
for await message in messagesOut {
123-
for frame in makeFrames(for: message) {
124-
framesOut.yield(frame)
122+
do {
123+
for await message in messagesOut {
124+
for frame in makeFrames(for: message) {
125+
framesOut.yield(frame)
126+
if frame.opcode == .close {
127+
throw FrameError.closed(frame)
128+
}
129+
}
125130
}
131+
framesOut.finish(throwing: nil)
132+
} catch {
133+
framesOut.finish(throwing: nil)
126134
}
127135
}
128136
await group.next()!

0 commit comments

Comments
 (0)