www 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #!/usr/bin/env node
  2. const http = require('http');
  3. const https = require('https');
  4. const debug = require('debug')('ultrong:server');
  5. const opn = require('opn');
  6. const path = require('path');
  7. const fs = require('fs');
  8. const app = require('../app');
  9. const net = require('net');
  10. const httpserver = require('./httpserver');
  11. const httpport = 7333;
  12. httpserver.httpServerStart(httpport, app).then(result => {
  13. debug('http Listening on ' + httpport);
  14. // debug('http NODE_ENV=' + process.env.NODE_ENV);
  15. }).catch(err => {
  16. onError(err);
  17. });
  18. function normalizehttpport(val) {
  19. let httpport = parseInt(val, 10);
  20. if (isNaN(httpport)) {
  21. // named pipe
  22. return val;
  23. }
  24. if (httpport >= 0) {
  25. // httpport number
  26. return httpport;
  27. }
  28. return false;
  29. }
  30. /**
  31. * Event listener for HTTP server "error" event.
  32. */
  33. function onError(error) {
  34. if (error.syscall !== 'listen') {
  35. throw error;
  36. }
  37. let bind = typeof httpport === 'string' ?
  38. 'Pipe ' + httpport :
  39. 'httpport ' + httpport;
  40. // handle specific listen errors with friendly messages
  41. switch (error.code) {
  42. case 'EACCES':
  43. console.error(bind + ' requires elevated privileges');
  44. process.exit(1);
  45. break;
  46. case 'EADDRINUSE':
  47. console.error(bind + ' is already in use');
  48. process.exit(1);
  49. break;
  50. default:
  51. throw error;
  52. }
  53. }