2018-06-26 05:39:49 +00:00
|
|
|
const http = require('http')
|
2018-07-12 07:23:41 +00:00
|
|
|
const fmw = require('find-my-way')
|
2018-07-10 12:37:48 +00:00
|
|
|
const setupRedirectBadge = require('./libs/setup-redirect-badge.js')
|
2018-07-12 07:23:41 +00:00
|
|
|
const setupLiveBadge = require('./libs/setup-live-badge.js')
|
2018-07-12 08:28:02 +00:00
|
|
|
const serveFavicon = require('./libs/serve-favicon.js')
|
2018-07-03 15:22:38 +00:00
|
|
|
const serveIndex = require('./libs/serve-index.js')
|
2018-07-12 06:47:40 +00:00
|
|
|
const serve404 = require('./libs/serve-404.js')
|
2018-07-12 06:31:48 +00:00
|
|
|
const { serveBadge, serveListBadge } = require('./libs/serve-badge.js')
|
|
|
|
|
2018-07-12 07:23:41 +00:00
|
|
|
const router = fmw({ defaultRoute: serve404 })
|
|
|
|
|
|
|
|
router.get('/', serveIndex)
|
2018-07-12 08:28:02 +00:00
|
|
|
router.get('/favicon.ico', serveFavicon)
|
2018-07-12 09:33:08 +00:00
|
|
|
router.get('/favicon.svg', serveFavicon)
|
2018-07-12 06:31:48 +00:00
|
|
|
router.get('/badge/:subject/:status', serveBadge)
|
|
|
|
router.get('/badge/:subject/:status/:color', serveBadge)
|
|
|
|
router.get('/list/:subject/:status', serveListBadge)
|
|
|
|
router.get('/list/:subject/:status/:color', serveListBadge)
|
2018-06-26 05:39:49 +00:00
|
|
|
|
2018-07-03 15:22:38 +00:00
|
|
|
setupLiveBadge(router)
|
2018-07-10 12:37:48 +00:00
|
|
|
setupRedirectBadge(router)
|
2018-06-26 05:39:49 +00:00
|
|
|
|
2018-07-12 07:23:41 +00:00
|
|
|
http.createServer((req, res) => {
|
2018-06-26 15:38:40 +00:00
|
|
|
try {
|
|
|
|
router.lookup(req, res)
|
|
|
|
} catch (ex) {
|
2018-07-12 07:23:41 +00:00
|
|
|
console.error('CRITICAL', ex)
|
2018-06-26 15:38:40 +00:00
|
|
|
res.statusCode = 500
|
|
|
|
res.end()
|
|
|
|
}
|
2018-07-12 07:23:41 +00:00
|
|
|
}).listen(3000)
|