71 lines
1.9 KiB
JavaScript
71 lines
1.9 KiB
JavaScript
import {LowSync} from 'lowdb';
|
|
//const { JSONFileSync } = require('lowdb/node');
|
|
import {JSONFileSync} from 'lowdb/node';
|
|
|
|
const db = new LowSync(new JSONFileSync('file.json'), {})
|
|
|
|
import {createServer} from 'node:http';
|
|
//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()
|
|
|
|
};
|