index.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. // built into node.
  2. var http = require('http'),
  3. fs = require('fs'),
  4. argv = require('optimist').argv,
  5. https = require('https'),
  6. Gun = require('gun')
  7. // require('gun/lib/shim')
  8. // require('gun/lib/path')
  9. // require('gun/lib/bye')
  10. require('gun/nts')
  11. // Create a new server instance.
  12. //var server = http.createServer();
  13. //var location = {host:"localhost"};
  14. //var gun = Gun( { file: 'read.json', peers: ['http://' + location.host + ':8080/gun'] });
  15. //gun.get( 'players' ).path('me4').put('from server',function(v){ console.log("put new value " + v ); } );
  16. //gun.get('players').get('me4').bye().put('offline');
  17. //gun.on('bye', function(peer){ console.log('disconnected from', peer) })
  18. var ssl = ( argv.s || argv.ssl );
  19. var pass = ( ( argv.w) ? ( argv.w) : undefined );
  20. var sslOptions = {
  21. key: ( ( argv.k || argv.key ) ? fs.readFileSync( argv.k || argv.key ) : undefined ),
  22. cert: ( ( argv.c || argv.cert ) ? fs.readFileSync( argv.c || argv.cert ) : undefined ),
  23. ca: ( ( argv.t || argv.ca ) ? fs.readFileSync( argv.t || argv.ca ) : undefined ),
  24. passphrase: JSON.stringify(pass)
  25. };
  26. //create the server
  27. var port = ( ( argv.p || argv.port ) ? ( argv.p || argv.port ) : 8080 );
  28. var srv = ssl ? https.createServer( sslOptions, OnRequest): http.createServer(OnRequest);
  29. //console.log( 'Serving on port ' + port );
  30. // Our GUN setup from the last example.
  31. var gun = Gun({
  32. //file: 'data.json',
  33. //file: false,
  34. web: srv
  35. });
  36. function serve(request, response){
  37. response.writeHead( 200, {
  38. "Content-Type": "application/json"
  39. } );
  40. var jsonobject = {
  41. "db": "v0.0.2"
  42. //"instances": inst
  43. }
  44. response.write( JSON.stringify( jsonobject ), "utf8" );
  45. response.end();
  46. //console.log("Serve here")
  47. }
  48. function OnRequest(request, response) {
  49. try {
  50. serve(request, response);
  51. // vwf.Serve( request, response );
  52. } catch (e) {
  53. response.writeHead(500, {
  54. "Content-Type": "text/plain"
  55. });
  56. response.write(e.toString(), "utf8");
  57. response.end();
  58. }
  59. } // close onRequest
  60. // Start the server on port 8080.
  61. srv.listen(port, function () {
  62. console.log('Server listening on http://localhost:'+ port+ '/gun')
  63. })