server.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. const fs = require('fs');
  2. const https = require('https');
  3. const express = require('express');
  4. const portfinder = require('portfinder');
  5. class Server {
  6. constructor(useHttps = false) {
  7. this.https = false;
  8. this.app = express();
  9. this.app.use(express.json());
  10. }
  11. route(router) {
  12. this.router = new router(this.app);
  13. this.router.route();
  14. }
  15. start(port, highestPort = null) {
  16. portfinder.basePort = port;
  17. portfinder.highestPort = (highestPort === null) ? port : highestPort;
  18. return new Promise((resolve, reject) => {
  19. // Tentative de demarrage du serveur sur la plage de port definit
  20. portfinder.getPortPromise().then((serverPort) => {
  21. if (this.https) {
  22. } else {
  23. this.httpServer(serverPort);
  24. }
  25. resolve(serverPort);
  26. }).catch((err) => {
  27. reject(err);
  28. });
  29. });
  30. }
  31. httpServer(port) {
  32. this.app.listen(port);
  33. }
  34. httpsServer() {
  35. }
  36. }
  37. // Export
  38. module.exports = new Server();