Add max_message_size as a configurable connection parameter #470
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The WebSocket library used has a default max message size of 4MB (per https://docs.aiohttp.org/en/v3.8.4/client_reference.html#aiohttp.ClientSession.ws_connect).
If the NATS server supports and has messages larger than this 4MB limit, we encounter the following error during reading of the message:
This error basically translates to,
self.buf
is smaller than the size of the payloadb
(within the AIOWebSocketReader
class).As such, I've added a new
max_message_size
property to the connection, which is passed to the WebSocket transport to resolve this issue. I maintained the default 4MB limit.