aboutsummaryrefslogtreecommitdiff
path: root/server.js
diff options
context:
space:
mode:
authorEv Bogue <ev@evbogue.com>2019-04-25 21:16:17 -0500
committerEv Bogue <ev@evbogue.com>2019-04-25 21:16:17 -0500
commitbd14700d559f08e1585cf6ae40b6f78c9cd295eb (patch)
tree0832194cbe8a8eb43be0ce5750f0d254a6896021 /server.js
parent48dbaa05211d817b63a0acbcf425b7c15400a259 (diff)
this isnt quite working yet, but commiting anyway
Diffstat (limited to 'server.js')
-rw-r--r--server.js66
1 files changed, 65 insertions, 1 deletions
diff --git a/server.js b/server.js
index 858687e..ddd91a9 100644
--- a/server.js
+++ b/server.js
@@ -21,7 +21,71 @@ var wserver = new WebSocket.Server({ port: 8080 })
wserver.on('connection', function (ws) {
ws.on('message', function (message) {
+ var req = JSON.parse(message)
+ console.log(req)
+ if (req.seq) {
+ if (fs.existsSync(__dirname + '/bogs/' + req.src)) {
+ fs.readFile(__dirname + '/bogs/' + req.src, 'UTF-8', function (err, data) {
+ if (data) {
+ var log = JSON.parse(data)
+ console.log(log[0])
+ var pubkey = nacl.util.decodeBase64(req.src.substring(1))
+ var sig = nacl.util.decodeBase64(log[0].signature)
+ var opened = JSON.parse(nacl.util.encodeUTF8(nacl.sign.open(sig, pubkey)))
- })
+ console.log(opened)
+ var res = {
+ feed: req.src,
+ seq: opened.seq
+ }
+ ws.send(JSON.stringify(res))
+ // COMPARE SEQ
+ }
+ })
+ } else {
+ var res = {
+ feed: req.src,
+ seq: null
+ }
+ console.log(res)
+ ws.send(JSON.stringify(res))
+ }
+ } else {
+ if (fs.existsSync(__dirname + '/bogs/' + req.src)) {
+ fs.readFile(__dirname + '/bogs/' + req.src, 'UTF-8', function (err, data) {
+ var log = JSON.parse(data)
+ var res = {
+ src: req.src,
+ log
+ }
+ console.log('SENDING FULL LOG')
+ ws.send(JSON.stringify(res))
+ })
+ }
+ }
+ if (req.log) {
+ console.log('LOG')
+ console.log(req.log)
+ if (fs.existsSync(__dirname + '/bogs/' + req.src)) {
+ fs.readFile(__dirname + '/bogs/' + req.src, 'UTF-8', function (err, data) {
+ var serverlog = JSON.parse(data)
+
+ var newlog = req.log.concat(serverlog)
+ fs.writeFile(__dirname + '/bogs/' + req.src, JSON.stringify(newlog), 'UTF-8', function (err, success) {
+ console.log('APPENDED DIFF AND WROTE LOG')
+ })
+
+ console.log('TRY APPENDING')
+ // read bogfile, append received data, and then save again
+ })
+ } else {
+ fs.writeFile(__dirname + '/bogs/' + req.src, JSON.stringify(req.log), 'UTF-8', function (err, success) {
+ if (err) throw err
+ else
+ console.log('WROTE LOG')
+ })
+ }
+ }
+ })
})