diff --git a/examples/express.js b/examples/express.js index e7b83641..ac517fb8 100644 --- a/examples/express.js +++ b/examples/express.js @@ -14,7 +14,7 @@ var gun = Gun({ } }); -gun.attach(app); +gun.wsp(app); app.use(express.static(__dirname)).listen(port); console.log('Server started on port ' + port + ' with /gun'); \ No newline at end of file diff --git a/examples/package.json b/examples/package.json index 59cbda86..89c2dc2e 100644 --- a/examples/package.json +++ b/examples/package.json @@ -2,12 +2,12 @@ "name": "examples", "main": "http.js", "description": "Example gun apps" -, "version": "0.0.2" +, "version": "0.0.3" , "engines": { "node": "~>0.10.x" } , "dependencies": { - "express": "~>4.9.0", + "express": "~>4.13.4", "gun": "~>0.3.0" } , "scripts": { diff --git a/lib/file.js b/lib/file.js index f64edb15..d16e0601 100644 --- a/lib/file.js +++ b/lib/file.js @@ -37,12 +37,12 @@ Gun.on('opt').event(function(gun, opts) { } gun.opt({wire: { - get: function get(key, cb, o){ - var node, soul = key; + get: function get(lex, cb, o){ + var node, soul = lex[Gun._.soul]; node = all.nodes[soul]; - if(!node){ return cb(null, null) } + if(!node){ return cb(null) } cb(null, node); - node = Gun.is.node.ify({_: node._}, soul); + node = Gun.is.node.soul.ify({}, soul); cb(null, node); // end. cb(null, {}); // done. }, diff --git a/lib/ws.js b/lib/ws.js index 3562590c..97c93146 100644 --- a/lib/ws.js +++ b/lib/ws.js @@ -31,7 +31,7 @@ module.exports = function(wss, server){ }); }); ws.off = function(m){ - Gun.log("ws.off", m); + //Gun.log("ws.off", m); ws.send = null; } ws.on('close', ws.off); diff --git a/lib/wsp.js b/lib/wsp.js index 94673f9f..2e32ae2b 100644 --- a/lib/wsp.js +++ b/lib/wsp.js @@ -6,9 +6,9 @@ , url = require('url'); Gun.on('opt').event(function(gun, opt){ gun.__.opt.ws = opt.ws = gun.__.opt.ws || opt.ws || {}; - function start(server, port){ - gun.__.opt.ws.server = gun.__.opt.ws.server || opt.ws.server || server; - if(server.use){ server.use(gun.wsp.server) } + function start(server, port, app){ + if(app && app.use){ app.use(gun.wsp.server) } + server = gun.__.opt.ws.server = gun.__.opt.ws.server || opt.ws.server || server; require('./ws')(gun.wsp.ws = gun.wsp.ws || new ws(gun.__.opt.ws), function(req, res){ var ws = this; req.headers['gun-sid'] = ws.sid = ws.sid? ws.sid : req.headers['gun-sid']; @@ -31,7 +31,7 @@ start(server, server.address().port); return gun; } - } else + } if(Gun.fns.is(server.get) && server.get('port')){ start(server, server.get('port')); return gun; @@ -39,7 +39,7 @@ var listen = server.listen; server.listen = function(port){ var serve = listen.apply(server, arguments); - start(serve, port); + start(serve, port, server); return serve; } return gun; @@ -126,12 +126,14 @@ key = {}; key[Gun._.soul] = req.url.query[Gun._.soul]; } - console.log("tran.get", key); - var opt = {}; + if(Gun.text.is(key)){ + key = Gun.is.rel.ify(key); + } + //console.log("tran.get", key); + var opt = {key: false}; //gun.get(key, function(err, node){ (gun.__.opt.wire.get||function(key, cb){cb(null,null)})(key, function(err, node){ - //tran.sub.scribe(req.tab, graph._[Gun._.soul]); - console.log("tran.get", key, "<---", err, node); + //console.log("tran.get", key, "<---", err, node); if(err || !node){ if(opt.on && opt.on.off){ opt.on.off() } return cb({headers: reply.headers, body: (err? (err.err? err : {err: err || "Unknown error."}) : null)}); @@ -169,7 +171,7 @@ var reply = {headers: {'Content-Type': tran.json}}; if(!req.body){ return cb({headers: reply.headers, body: {err: "No body"}}) } gun.wsp.on('network').emit(Gun.obj.copy(req)); - console.log("tran.put", req.body); + //console.log("tran.put", req.body); if(Gun.is.graph(req.body)){ if(req.err = Gun.union(gun, req.body, function(err, ctx){ // TODO: BUG? Probably should give me ctx.graph if(err){ return cb({headers: reply.headers, body: {err: err || "Union failed."}}) } diff --git a/package.json b/package.json index 47560236..dfbfbe58 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gun", - "version": "0.3.0", + "version": "0.3.1", "description": "Graph engine", "main": "index.js", "scripts": {