server.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. var http = require('http')
  2. , events = require('events')
  3. , stream = require('stream')
  4. , assert = require('assert')
  5. ;
  6. exports.createServer = function (port) {
  7. port = port || 6767
  8. var s = http.createServer(function (req, resp) {
  9. s.emit(req.url, req, resp);
  10. })
  11. s.listen(port)
  12. s.url = 'http://localhost:'+port
  13. return s;
  14. }
  15. exports.createPostStream = function (text) {
  16. var postStream = new stream.Stream();
  17. postStream.writeable = true;
  18. postStream.readable = true;
  19. setTimeout(function () {postStream.emit('data', new Buffer(text)); postStream.emit('end')}, 0);
  20. return postStream;
  21. }
  22. exports.createPostValidator = function (text) {
  23. var l = function (req, resp) {
  24. var r = '';
  25. req.on('data', function (chunk) {r += chunk})
  26. req.on('end', function () {
  27. if (r !== text) console.log(r, text);
  28. assert.ok(r === text)
  29. resp.writeHead(200, {'content-type':'text/plain'})
  30. resp.write('OK')
  31. resp.end()
  32. })
  33. }
  34. return l;
  35. }
  36. exports.createGetResponse = function (text) {
  37. var l = function (req, resp) {
  38. resp.writeHead(200, {'content-type':'text/plain'})
  39. resp.write(text)
  40. resp.end()
  41. }
  42. return l;
  43. }