const express = require("express");
const app = express();
const busboy = require("busboy");
app.use(express.json());
// GET route
app.get("/", (req, res) => {
res.send("Test OK");
});
// POST route
app.post("/parse", (req, res) => {
console.log("POST request");
const bb = busboy({ headers: req.headers });
bb.on("file", (name, file, info) => {
const { filename, encoding, mimeType } = info;
console.log(
`File [${name}]: filename: %j, encoding: %j, mimeType: %j`,
filename,
encoding,
mimeType
);
file
.on("data", (data) => {
console.log(`File [${name}] got ${data.length} bytes`);
})
.on("close", () => {
console.log(`File [${name}] done`);
});
});
bb.on("field", (name, val, info) => {
console.log(`Field [${name}]: value: %j`, val);
if (name === "html") {
console.log("---------------");
console.log("content:", val);
console.log("---------------");
}
});
bb.on("close", () => {
console.log("Done parsing form!");
res.writeHead(303, { Connection: "close", Location: "/" });
res.end();
});
req.pipe(bb);
});
// Start the server
const PORT = 3001;
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});