@netlify/functions
Version:
JavaScript utilities for Netlify Functions
21 lines (19 loc) • 662 B
JavaScript
// src/lib/stream.ts
import { pipeline as pipelineSync } from "node:stream";
import { promisify } from "node:util";
var pipeline = promisify(pipelineSync);
var stream = (handler) => awslambda.streamifyResponse(async (event, responseStream, context) => {
const { body, ...httpResponseMetadata } = await handler(event, context);
const responseBody = awslambda.HttpResponseStream.from(responseStream, httpResponseMetadata);
if (typeof body === "undefined") {
responseBody.end();
} else if (typeof body === "string") {
responseBody.write(body);
responseBody.end();
} else {
await pipeline(body, responseBody);
}
});
export {
stream
};