get.js 927 B

1234567891011121314151617181920212223242526272829303132
  1. var url = require('url');
  2. var logger = require('../tools/logger');
  3. var danmaku = require('../models/danmaku');
  4. module.exports = function (req, res) {
  5. var ip = req.headers['x-forwarded-for'] ||
  6. req.connection.remoteAddress ||
  7. req.socket.remoteAddress ||
  8. req.connection.socket.remoteAddress;
  9. logger.info(`GET form IP: ${ip}`);
  10. var query = url.parse(req.url,true).query;
  11. var id = query.id;
  12. var max = query.max;
  13. var length;
  14. danmaku.find({player: id}, function (err, data) {
  15. if (err) {
  16. logger.error(err);
  17. }
  18. var json = `{"code": 1,"danmaku":[`;
  19. length = max ? Math.min(data.length, max) : data.length;
  20. for (var i = 0; i < length; i++) {
  21. json += JSON.stringify(data[i]);
  22. if (i !== length - 1) {
  23. json += `,`;
  24. }
  25. }
  26. json += `]}`;
  27. res.send(json);
  28. })
  29. };