const { LowSync } = require('lowdb'); const { JSONFileSync } = require('lowdb/node'); const db = new LowSync(new JSONFileSync('file.json'), {}) const { createServer } = require('node:http'); const key = "c3dpZ2dpdHlzd29vdHkK"; const reStoreWrite = new RegExp(`/write/${key}/?`) const reStoreRead = new RegExp(`/read/${key}/?`) let hostname = '127.0.0.1'; hostname = "0.0.0.0"; const port = 4444; const server = createServer((req, res) => { res.setHeader('Content-Type', 'text/plain'); res.setHeader( 'Access-Control-Allow-Origin','*'); res.setHeader( 'Access-Control-Allow-Methods','POST,GET'); res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Request-Method', '*'); res.setHeader('Access-Control-Allow-Methods', 'OPTIONS, GET'); res.setHeader('Access-Control-Allow-Headers', '*'); res.statusCode = 200; if (req.method === "OPTIONS") { res.statusCode = 200; res.end(); } if (req.method !== "POST") { res.statusCode = 400; res.end(); } console.log("post coming to", req.url) if (req.url.match(reStoreRead)) { console.log("got store read request") db.read(); res.end(JSON.stringify(db.data)); } else if (req.url.match(reStoreWrite)) { console.log("got store write request") let chunks = []; req.on("data", function (chunk) { chunks.push(chunk); }); req.on("end", function () { var result = JSON.parse(Buffer.concat(chunks)); res.end(); handleWrite(result); }); console.log("listeners ready") } console.log("reply") }); server.listen(port, () => { console.log(`Server running at http://${hostname}:${port}/`); }); const handleWrite = (json) => { console.log("Handler handles", json); db.data = json; db.write() //db.read() };