Guest User

Untitled

a guest
Jun 18th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. var fs = require('fs'),
  2. sys = require('sys'),
  3. connect = require('connect'),
  4. url = require('url'),
  5. rest,
  6. server,
  7. MDB = {};
  8.  
  9. rest = function (app) {
  10.  
  11. app.get('/routers', function(req, res) {
  12. try {
  13. var result = [];
  14.  
  15. req.params = url.parse(req.url, true).query;
  16.  
  17. Object.keys(MDB).forEach(function (item, key, collection) {
  18. if (MDB[item]) {
  19. result.push(MDB[item]);
  20. }
  21. });
  22. result = JSON.stringify(result);
  23.  
  24. sys.puts('0there');
  25. res.writeHead(200, {'Content-Type': 'application/json'});
  26. if (req.params && req.params.callback) {
  27. result = req.params.callback + '(' + result + ')';
  28. }
  29. sys.puts('1there');
  30. res.end(result);
  31. sys.puts('2there');
  32. } catch(e) {}
  33. });
  34.  
  35.  
  36. app.get('/imalive/:location', function(req, res) {
  37. try {
  38. var result = '{"success": "yay"}', item = {};
  39.  
  40. res.writeHead(200, {'Content-Type': 'application/json'});
  41. if (!req.params || !req.params.location) {
  42. res.end('{err: "sucks"}');
  43. return;
  44. }
  45. sys.puts('here0');
  46. item.location = req.params.location;
  47. item.remoteAddress = req.socket.remoteAddress;
  48. MDB[item.remoteAddress] = item;
  49.  
  50. sys.puts('here1');
  51. res.write(result);
  52. sys.puts('here2');
  53. res.end();
  54. sys.puts('here3');
  55. } catch(e) {}
  56. });
  57.  
  58. };
  59.  
  60. server = connect.createServer(
  61. // decode html forms
  62. connect.bodyDecoder(),
  63. // REST API
  64. connect.router(rest),
  65. // images, css, etc
  66. connect.staticProvider(__dirname + '/public'),
  67. // All other request redirect to index
  68. function(req, res){
  69. var emitter = fs.createReadStream(__dirname + "/public/index.html", {encoding: 'utf8'});
  70. res.writeHead(200, {'Content-Type': 'text/html'});
  71. emitter.on('data', function(data) {
  72. res.write(data);
  73. });
  74. emitter.on('end', res.end);
  75. }
  76. );
  77.  
  78. module.exports = connect.createServer(
  79. connect.vhost('dd-wrt.mydomain.com', server)
  80. );
Add Comment
Please, Sign In to add comment