routing.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. // Intialized database connections, one for each db config
  2. // * Mongoose is a popular Node/MongoDB driver
  3. // * Sequelize is a popular Node/SQL driver
  4. // * Node's redis package uses the C bindings of the hiredis library
  5. var MongodbRawHandler = require('./handlers/mongodb-raw');
  6. var MySQLRawHandler = require('./handlers/mysql-raw');
  7. var MongooseHandler = require('./handlers/mongoose');
  8. var SequelizeHandler = require('./handlers/sequelize');
  9. var HiredisHandler = require('./handlers/redis');
  10. var SequelizePgHandler = require('./handlers/sequelize-postgres');
  11. var h = require('./helper');
  12. module.exports.BasicHandler = (function() {
  13. var self = {}
  14. self.routes = {
  15. '/json': h.responses.jsonSerialization,
  16. '/plaintext': h.responses.plaintext,
  17. '/mongoose/db': MongooseHandler.SingleQuery,
  18. '/mongoose/fortunes': MongooseHandler.Fortunes,
  19. '/mongodb/db': MongodbRawHandler.SingleQuery,
  20. '/mongodb/fortunes': MongodbRawHandler.Fortunes,
  21. '/sequelize/db': SequelizeHandler.SingleQuery,
  22. '/sequelize/fortunes': SequelizeHandler.Fortunes,
  23. '/mysql/db': MySQLRawHandler.SingleQuery,
  24. '/mysql/fortunes': MySQLRawHandler.Fortunes,
  25. '/hiredis/db': HiredisHandler.SingleQuery,
  26. '/hiredis/fortunes': HiredisHandler.Fortunes,
  27. '/sequelize-pg/db': SequelizePgHandler.SingleQuery,
  28. '/sequelize-pg/fortunes': SequelizePgHandler.Fortunes
  29. }
  30. self.has = function(path) {
  31. return self.routes[path];
  32. }
  33. self.handle = function(path, req, res) {
  34. return self.routes[path](req, res);
  35. }
  36. return self;
  37. }());
  38. module.exports.QueryHandler = (function () {
  39. var self = {}
  40. self.routes = {
  41. '/mongoose/queries': MongooseHandler.MultipleQueries,
  42. '/mongoose/updates': MongooseHandler.Updates,
  43. '/mongodb/queries': MongodbRawHandler.MultipleQueries,
  44. '/mongodb/updates': MongodbRawHandler.Updates,
  45. '/sequelize/queries': SequelizeHandler.MultipleQueries,
  46. '/sequelize/updates': SequelizeHandler.Updates,
  47. '/mysql/queries': MySQLRawHandler.MultipleQueries,
  48. '/mysql/updates': MySQLRawHandler.Updates,
  49. '/hiredis/queries': HiredisHandler.MultipleQueries,
  50. '/hiredis/updates': HiredisHandler.Updates,
  51. '/sequelize-pg/queries': SequelizePgHandler.MultipleQueries,
  52. '/sequelize-pg/updates': SequelizePgHandler.Updates
  53. }
  54. self.has = function(path) {
  55. return self.routes[path];
  56. }
  57. self.handle = function(path, queries, req, res) {
  58. return self.routes[path](queries, req, res);
  59. }
  60. return self;
  61. }());