Skip to content

Commit 022f51b

Browse files
committed
fix(compression): recalculate opcode after determine OP_COMPRESSED
1 parent 713fa38 commit 022f51b

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

lib/core/cmap/message_stream.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ function processMessage(stream, message, callback) {
131131
opCode: message.readInt32LE(12)
132132
};
133133

134-
const ResponseType = messageHeader.opCode === OP_MSG ? BinMsg : Response;
134+
let ResponseType = messageHeader.opCode === OP_MSG ? BinMsg : Response;
135135
const responseOptions = stream.responseOptions;
136136
if (messageHeader.opCode !== OP_COMPRESSED) {
137137
const messageBody = message.slice(MESSAGE_HEADER_SIZE);
@@ -150,6 +150,8 @@ function processMessage(stream, message, callback) {
150150
const compressorID = message[MESSAGE_HEADER_SIZE + 8];
151151
const compressedBuffer = message.slice(MESSAGE_HEADER_SIZE + 9);
152152

153+
// recalculate based on wrapped opcode
154+
ResponseType = messageHeader.opCode === OP_MSG ? BinMsg : Response;
153155
decompress(compressorID, compressedBuffer, (err, messageBody) => {
154156
if (err) {
155157
callback(err);

0 commit comments

Comments
 (0)