【发布时间】:2018-08-01 15:37:03
【问题描述】:
我正在使用 Loopback v3.x 和 strong-error-handler 来处理我的项目错误。错误响应在开发模式下很好,但在生产模式下,它会向客户端抛出不同的错误。
我意识到是 "debug": false" 让它抛出了一个 { error: { statusCode: 500, message: 'Internal Server Error' } }(基于关于 strong-error-handler 的 Loopback 文档)
但是当我将new Error('Error Messages') 和"debug": false 一起抛出时,我想在生产中显示我的错误(以防止文件路径、URL 和堆栈跟踪等敏感数据暴露)
以下是我的配置文件:
config.json
{
...
"remoting": {
"rest": {
"normalizeHttpPath": false,
"xml": false,
"handleErrors": false
}
}
}
middleware.development.json
{
"final:after": {
"strong-error-handler": {
"params": {
"debug": true,
"log": true,
"safeFields": [
"code"
]
}
}
}
}
middleware.json
{
"final:after": {
"strong-error-handler": {
"params": {
"debug": false,
"log": true,
"safeFields": [
"code"
]
}
}
}
}
我去了strongloop-error-handler GitHub library,但找不到任何关于抛出原始错误的文档。有可能这样做吗?
【问题讨论】:
标签: error-handling middleware strongloop loopback