MCPcopy Create free account
hub / github.com/CopilotKit/aimock / encodeEventStreamFrame

Function encodeEventStreamFrame

src/aws-event-stream.ts:56–90  ·  view source on GitHub ↗
(headers: Record<string, string>, payload: Buffer)

Source from the content-addressed store, hash-verified

54 * payload buffer.
55 */
56export function encodeEventStreamFrame(headers: Record<string, string>, payload: Buffer): Buffer {
57 const headersBuffer = encodeHeaders(headers);
58 const headersLength = headersBuffer.length;
59
60 // prelude (8) + prelude_crc (4) + headers + payload + message_crc (4)
61 const totalLength = 4 + 4 + 4 + headersLength + payload.length + 4;
62
63 const frame = Buffer.alloc(totalLength);
64 let offset = 0;
65
66 // Prelude
67 frame.writeUInt32BE(totalLength, offset);
68 offset += 4;
69 frame.writeUInt32BE(headersLength, offset);
70 offset += 4;
71
72 // Prelude CRC32 (covers first 8 bytes)
73 const preludeCrc = crc32(frame.subarray(0, 8));
74 frame.writeUInt32BE(preludeCrc >>> 0, offset);
75 offset += 4;
76
77 // Headers
78 headersBuffer.copy(frame, offset);
79 offset += headersLength;
80
81 // Payload
82 payload.copy(frame, offset);
83 offset += payload.length;
84
85 // Message CRC32 (covers entire frame minus last 4 bytes)
86 const messageCrc = crc32(frame.subarray(0, totalLength - 4));
87 frame.writeUInt32BE(messageCrc >>> 0, offset);
88
89 return frame;
90}
91
92// ─── Convenience wrappers ───────────────────────────────────────────────────
93

Callers 3

encodeEventStreamMessageFunction · 0.85

Calls 1

encodeHeadersFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…