Files
mussea-signer/api/index.js
2022-06-28 20:35:11 +02:00

46 lines
1.1 KiB
JavaScript

const Signer = require("../src/Signer");
const http = require("http");
const PORT = process.env.PORT || 8080;
const signer = new Signer();
const server = http.createServer(async (req, res) => {
res.writeHead(200, {
"Content-Type": "application/json",
"Cache-Control": "s-max-age=1, stale-while-revalidate" // caching stuff for vercel
});
if (req.method === "POST") {
// Get url from POST body
const buffers = [];
for await (const chunk of req) {
buffers.push(chunk);
}
const url = Buffer.concat(buffers).toString();
const data = signer.sign(url);
console.log("Sent data from request with url: " + url);
res.write(
JSON.stringify({
status: "ok",
data: {
...data,
navigator: signer.navigator()
}
})
);
} else {
res.write(
JSON.stringify({
status: "error",
data: "You have to send a POST request with a valid TikTok URL on the body!"
})
)
}
res.end();
});
server.listen(PORT, () => {
console.log(`App listening on port: ${PORT}`);
});