Midway v2.11.3 发布,Serverless 错误安全性更新

来源: 投稿
作者: 陈仲寅
2021-07-02

增强

1、日志对象 info 增加原始参数

从新版本开始,logger 中的 info 参数,将增加 originArgs 属性,其中保存了用户原始调用的参数。

logger.info(1,2,3,4);

printFormat(info => {
  info.originArgs // [1,2,3,4]
});

2、隐藏 serverless 非 http 触发器返回的错误堆栈

在先前版本,如果在非 http 场景下,业务直接 throw err,会直接将错误对象返回给网关,由网关返回给调用方,考虑到在线上如果直接返回,会将业务代码的堆栈(结构)暴露,有一定的安全性风险。

新版本,在线上环境中,我们会将错误隐藏为统一的 internal error,只在日志中透出具体的堆栈信息,行为和之前的 http 触发器保持一致。

3、@Headers 装饰器忽略大小写判断

之前 @Headers 获取头数据,会根据指定的 key 去获取,由于 header 头本身是可忽略大小写的,会导致用户无法正确的取到头。

新版本我们做了处理,在获取 header 值时,忽略大小写。

// header { 'X-ABC': '123'}

async invoke(@Headers('x-abc') value) {
	// value => 123
}

其他

  • prometheus 在 close 时候 server 判空处理,感谢 @waitingsong 的 PR。
展开阅读全文
0 收藏
分享
加载中
最新评论 (1)
x.x.2->x.x.3?
2021-07-02 19:59
0
回复
举报
更多评论
1 评论
0 收藏
分享
返回顶部
顶部