in src/setupEventStream.ts [25:45]
export function setupEventStream(): void {
worker.eventStream.on('data', (msg) => {
void handleMessage(msg);
});
worker.eventStream.on('error', function (err) {
systemError(`Worker encountered event stream error: `, err);
throw new AzFuncSystemError(err);
});
// wrap event stream write to validate message correctness
const oldWrite = worker.eventStream.write;
worker.eventStream.write = function checkWrite(msg) {
const msgError = rpc.StreamingMessage.verify(msg);
if (msgError) {
systemError(`Worker malformed message`, msgError);
throw new AzFuncSystemError(msgError);
}
oldWrite.apply(worker.eventStream, [msg]);
};
}