2018-06-29 16:52:17 +00:00
|
|
|
const badgen = require('badgen')
|
2018-07-03 15:02:42 +00:00
|
|
|
const { cache } = require('./lru-cache-static.js')
|
2018-06-29 16:52:17 +00:00
|
|
|
|
|
|
|
function serveBadge (req, res, params) {
|
|
|
|
const result = cache.get(req.url) || badgen(params)
|
|
|
|
res.writeHead(200, {
|
|
|
|
'Content-Type': 'image/svg+xml;charset=utf-8',
|
|
|
|
'Cache-Control': 'public, max-age=360'
|
|
|
|
})
|
|
|
|
res.end(result)
|
|
|
|
|
|
|
|
// Cache if not
|
|
|
|
cache.has(req.url) || cache.set(req.url, result)
|
|
|
|
}
|
|
|
|
|
|
|
|
function serveListBadge (req, res, params) {
|
|
|
|
const { subject, status, color } = params
|
|
|
|
serveBadge(req, res, { subject, status: status.replace(/,/g, ' | '), color })
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
serveBadge,
|
2018-06-29 17:34:06 +00:00
|
|
|
serveListBadge
|
2018-06-29 16:52:17 +00:00
|
|
|
}
|