28 lines
940 B
JavaScript
28 lines
940 B
JavaScript
|
|
export async function headerValidation(req, rep) {
|
|
if(!(/(authserver)|(sessionserver)|(api)/g).test(req.url) || req.method !== 'POST') {
|
|
return
|
|
}
|
|
|
|
if(Object.keys(req.headers).some(key => {
|
|
req.log.info(key.toLowerCase() === "content-type")
|
|
req.log.info(req.headers[key].toLowerCase())
|
|
return key.toLowerCase() === "content-type" && req.headers[key].toLowerCase().indexOf("application/json") === -1
|
|
})) {
|
|
req.log.info(JSON.stringify(req.headers))
|
|
|
|
return rep.code(400).send({
|
|
error: "IllegalArgumentException",
|
|
errorMessage: "请求内容不正确",
|
|
cause: "请求头中 Content-Type 不是 application/json"
|
|
})
|
|
}
|
|
}
|
|
|
|
export async function handleError(err, req, rep) {
|
|
return rep.code(500).send({
|
|
error: "InternalServerError",
|
|
errorMessage: "服务器内部错误",
|
|
cause: err.message
|
|
})
|
|
} |