如何解决如何在Hapi中验证标头
我想添加一个中间件来检查标题值。如果期望的消息没有出现在标题中,那么我想在API响应上抛出错误。以下代码引发错误,我可以在控制台中看到它,但我想将此错误发送给用户。
const server = new Server({
host: config.get('host'),port: config.get('port' )
});
await server.register(require('@hapi/inert')); // eslint-disable-line @typescript-eslint/no-var-requires
server.register({
plugin: AuthService
})
server.route(
// mapping route paths with context path
routes.map((datum) => {
return {
...datum,path: `${config.get('basePath')}${datum.path}`
};
})
);
插件
import { notFound } from '@hapi/boom';
export const AuthService = {
name: 'authService',version: '1.0.0',register: async function (server: any,options: any) {
throw notFound(`Unauthorized user not found`);
}
};
解决方法
好吧,我想您对这种表达方式的想法太多了。您应该查看Hapi的身份验证部分。
您可以创建自定义策略,如果标题不存在,则返回错误。
此外,您可以检查所有路线如何使用Joi.schema()
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。