| 123456789101112131415161718192021222324252627282930 |
- import { createServer } from "node:http"
- import { mkdir, writeFile } from "node:fs/promises"
- import { dirname, resolve } from "node:path"
- const output = resolve(process.argv[2] || "artifacts/ai-ppt-export-test/ai-ppt-e2e.pptx")
- const server = createServer((request, response) => {
- response.setHeader("Access-Control-Allow-Origin", "*")
- response.setHeader("Access-Control-Allow-Methods", "POST, OPTIONS")
- if (request.method === "OPTIONS") {
- response.writeHead(204).end()
- return
- }
- if (request.method !== "POST" || request.url !== "/pptx") {
- response.writeHead(404).end()
- return
- }
- const chunks = []
- request.on("data", chunk => chunks.push(chunk))
- request.on("end", async () => {
- const buffer = Buffer.concat(chunks)
- await mkdir(dirname(output), { recursive: true })
- await writeFile(output, buffer)
- response.writeHead(200).end("saved")
- console.log(JSON.stringify({ output, bytes: buffer.length }))
- server.close()
- })
- })
- server.listen(9540, "127.0.0.1", () => console.log("AI PPT export sink listening on 9540"))
|