【发布时间】:2021-06-30 17:32:34
【问题描述】:
为什么 express-validator 不拒绝这个请求?
import { Router, Request, Response } from 'express'
import { header } from 'express-validator'
if (!process.env.CRONJOB_SECRET) {
console.error('Please set CRONJOB_SECRET')
process.exit(1)
}
const router = Router()
/**
* start/stop jobs every minute
*/
router.get(
'/start-stop-jobs',
header('x-cronjob-secret').equals(process.env.CRONJOB_SECRET),
async (req: Request, res: Response) => {
const log = {
secret: process.env.CRONJOB_SECRET,
equals: req.headers['x-cronjob-secret'],
started: [],
stopped: [],
error: {},
}
// stop any events
console.log('Completed /start-stop-jobs', log)
return res.json({ status: 'ok', log })
},
)
当我GET /start-stop-jobs,没有标头时,我得到这个响应:
{"status":"ok","log":{"secret":"CRONJOB_SECRET","started":[],"stopped":[],"error":{}}}
这似乎是一个微不足道的用例。我错过了什么?
【问题讨论】: