MCPcopy Index your code
hub / github.com/nodejs/node / createFrame

Method createFrame

deps/undici/undici.js:15067–15100  ·  view source on GitHub ↗
(opcode)

Source from the content-addressed store, hash-verified

15065 this.frameData = data;
15066 }
15067 createFrame(opcode) {
15068 const frameData = this.frameData;
15069 const maskKey = generateMask();
15070 const bodyLength = frameData?.byteLength ?? 0;
15071 let payloadLength = bodyLength;
15072 let offset = 6;
15073 if (bodyLength > maxUnsigned16Bit) {
15074 offset += 8;
15075 payloadLength = 127;
15076 } else if (bodyLength > 125) {
15077 offset += 2;
15078 payloadLength = 126;
15079 }
15080 const buffer2 = Buffer.allocUnsafe(bodyLength + offset);
15081 buffer2[0] = buffer2[1] = 0;
15082 buffer2[0] |= 128;
15083 buffer2[0] = (buffer2[0] & 240) + opcode;
15084 buffer2[offset - 4] = maskKey[0];
15085 buffer2[offset - 3] = maskKey[1];
15086 buffer2[offset - 2] = maskKey[2];
15087 buffer2[offset - 1] = maskKey[3];
15088 buffer2[1] = payloadLength;
15089 if (payloadLength === 126) {
15090 buffer2.writeUInt16BE(bodyLength, 2);
15091 } else if (payloadLength === 127) {
15092 buffer2[2] = buffer2[3] = 0;
15093 buffer2.writeUIntBE(bodyLength, 4, 6);
15094 }
15095 buffer2[1] |= 128;
15096 for (let i = 0; i < bodyLength; ++i) {
15097 buffer2[offset + i] = frameData[i] ^ maskKey[i & 3];
15098 }
15099 return buffer2;
15100 }
15101 /**
15102 * @param {Uint8Array} buffer
15103 */

Callers 1

createFrameFunction · 0.45

Calls 1

generateMaskFunction · 0.70

Tested by

no test coverage detected