Express API 中的属性是:
req.baseUrl、req.originalUrl)req.secure、req.ip)由于类别 1 下的属性是在当前请求-响应周期的上下文中动态分配给 request 和 response 对象的,因此它们的行为不能被覆盖。
可以使用 Express API 扩展 API 覆盖类别 2 下的属性。
以下代码重写了如何导出 req.ip 的值。现在,它只返回 Client-IP 请求标头的值。
Object.defineProperty(app.request, 'ip', {
configurable: true,
enumerable: true,
get () { return this.get('Client-IP') }
})