server.js 878 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. const http = require('http');
  2. const ref = require.main === module;
  3. const server = http.createServer((req, res) => {
  4. if (!ref)
  5. req.connection.unref();
  6. switch (req.url) {
  7. case '/invalid-json':
  8. res.setHeader('Content-Type', 'application/json');
  9. res.end('{ "a": 1');
  10. break;
  11. case '/form-urlencoded':
  12. res.setHeader('Content-Type', 'application/x-www-form-urlencoded');
  13. res.end('test=1&hello=world');
  14. break;
  15. case '/echo': {
  16. let body = '';
  17. req.on('data', (c) => { body += c; });
  18. req.on('end', () => {
  19. res.end(body);
  20. });
  21. break;
  22. }
  23. default:
  24. res.end();
  25. break;
  26. }
  27. });
  28. server.on('connection', (socket) => {
  29. if (!ref)
  30. socket.unref();
  31. });
  32. server.listen(0);
  33. exports.port = server.address().port;
  34. if (ref)
  35. console.log(exports.port); // eslint-disable-line no-console