kopia lustrzana https://github.com/badgen/badgen.net
fix: stronger live-handler #102
rodzic
bd080cef9d
commit
3ae4adb34a
|
@ -5,6 +5,17 @@ const serveBadge = require('./serve-badge.js')
|
||||||
const liveFetcher = require('./live-fetcher.js')
|
const liveFetcher = require('./live-fetcher.js')
|
||||||
|
|
||||||
const { API_HOST } = process.env
|
const { API_HOST } = process.env
|
||||||
|
const apiFetcher = async url => {
|
||||||
|
return axios.get(API_HOST + url, {
|
||||||
|
validateStatus: status => status >= 200 && status < 300
|
||||||
|
}).then(
|
||||||
|
res => res.data,
|
||||||
|
err => {
|
||||||
|
console.error('API_ERR', url, err.message)
|
||||||
|
return { ...err.response.data, statusCode: err.response.status }
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = Object.entries(liveFns).map(([name, fn]) => {
|
module.exports = Object.entries(liveFns).map(([name, fn]) => {
|
||||||
return get(`/${name}/*`, async (req, res) => {
|
return get(`/${name}/*`, async (req, res) => {
|
||||||
|
@ -12,15 +23,18 @@ module.exports = Object.entries(liveFns).map(([name, fn]) => {
|
||||||
subject = name,
|
subject = name,
|
||||||
status = 'unknown',
|
status = 'unknown',
|
||||||
color = 'grey',
|
color = 'grey',
|
||||||
failed = false
|
failed = false,
|
||||||
} = await (API_HOST
|
statusCode = 200
|
||||||
? axios(API_HOST + req.url).then(res => res.data)
|
} = await (
|
||||||
: liveFetcher(name, fn, req.params['*'])
|
API_HOST
|
||||||
|
? apiFetcher(req.url)
|
||||||
|
: liveFetcher(name, fn, req.params['*'])
|
||||||
)
|
)
|
||||||
|
|
||||||
const style = req.headers.host === 'flat.badgen.net' ? 'flat' : undefined
|
const style = req.headers.host === 'flat.badgen.net' ? 'flat' : undefined
|
||||||
req.params = { subject, status, color, style }
|
req.params = { subject, status, color, style }
|
||||||
serveBadge(req, res, {
|
serveBadge(req, res, {
|
||||||
|
code: statusCode,
|
||||||
maxAge: failed ? '0' : (Math.random() * 60 + 60).toFixed()
|
maxAge: failed ? '0' : (Math.random() * 60 + 60).toFixed()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
Ładowanie…
Reference in New Issue