lsp-yggdrasil/src/hooks.js

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
})
}