Skip to content

Commit

Permalink
[PR #9795/fcb790b1 backport][3.11] Switch WebSocketWriter to use `rem…
Browse files Browse the repository at this point in the history
…ovesuffix` to drop compression trailer (#9805)

Co-authored-by: J. Nick Koston <[email protected]>
  • Loading branch information
patchback[bot] and bdraco authored Nov 11, 2024
1 parent 2490e4a commit 255bf5c
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions aiohttp/_websocket/writer.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,16 +92,16 @@ async def send_frame(
self._compressobj = self._make_compress_obj(self.compress)
compressobj = self._compressobj

message = await compressobj.compress(message)
message = (
await compressobj.compress(message)
+ compressobj.flush(
zlib.Z_FULL_FLUSH if self.notakeover else zlib.Z_SYNC_FLUSH
)
).removesuffix(WS_DEFLATE_TRAILING)
# Its critical that we do not return control to the event
# loop until we have finished sending all the compressed
# data. Otherwise we could end up mixing compressed frames
# if there are multiple coroutines compressing data.
message += compressobj.flush(
zlib.Z_FULL_FLUSH if self.notakeover else zlib.Z_SYNC_FLUSH
)
if message.endswith(WS_DEFLATE_TRAILING):
message = message[:-4]

msg_length = len(message)

Expand Down

0 comments on commit 255bf5c

Please sign in to comment.