Browse Source

fix: always return 200 for badge #102

GitHub's camo proxy only accept 200. =. =
refactor-github
Amio 6 years ago
parent
commit
a29b4b2472
  1. 10
      libs/live-handlers.js
  2. 2
      libs/serve-404.js

10
libs/live-handlers.js

@ -6,13 +6,11 @@ const liveFetcher = require('./live-fetcher.js')
const { API_HOST } = process.env
const apiFetcher = async url => {
return axios.get(API_HOST + url, {
validateStatus: status => status >= 200 && status < 300
}).then(
return axios.get(API_HOST + url).then(
res => res.data,
err => {
console.error('API_ERR', url, err.message)
return { ...err.response.data, statusCode: err.response.status }
return { ...err.response.data, httpCode: 200 }
}
)
}
@ -24,7 +22,7 @@ module.exports = Object.entries(liveFns).map(([name, fn]) => {
status = 'unknown',
color = 'grey',
failed = false,
statusCode = 200
httpCode = 200
} = await (
API_HOST
? apiFetcher(req.url)
@ -34,7 +32,7 @@ module.exports = Object.entries(liveFns).map(([name, fn]) => {
const style = req.headers.host === 'flat.badgen.net' ? 'flat' : undefined
req.params = { subject, status, color, style }
serveBadge(req, res, {
code: statusCode,
code: httpCode,
maxAge: failed ? '0' : (Math.random() * 60 + 60).toFixed()
})
})

2
libs/serve-404.js

@ -6,5 +6,5 @@ module.exports = (req, res) => {
status: '404',
color: 'red'
}
serveBadge(req, res, { code: 404 })
serveBadge(req, res, { code: 200 })
}

Loading…
Cancel
Save