main.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. 'use strict';
  2. const express = require('express');
  3. const fs = require('fs');
  4. const router = express.Router({
  5. caseSensitive: true,
  6. strict: true,
  7. mergeParams: true
  8. });
  9. /**
  10. * Health Check
  11. * GET /health
  12. */
  13. router.get('/health', (req, res/*, next*/) => {
  14. res.status(200).send({
  15. status: 'Healthy'
  16. });
  17. });
  18. /**
  19. * GET .*
  20. */
  21. router.get(/(.*)/, function (req, res, next) {
  22. req.params.page = req.params['0'];
  23. if (req.params.page === '/') {
  24. req.params.page = '/index.html';
  25. }
  26. fs.readFile('dist' + req.params.page, 'utf8', function (err, data) {
  27. if (err) {
  28. if (req.params.page !== '/index.html') {
  29. fs.readFile('dist/index.html', 'utf8', function (err2, data) {
  30. if (err2) {
  31. next(err);
  32. } else {
  33. res.contentType('text/html').end(data);
  34. }
  35. });
  36. } else {
  37. next(err);
  38. }
  39. } else {
  40. res.contentType('text/html').end(data);
  41. }
  42. });
  43. });
  44. module.exports = router;