2017-01-27 89 views
0

平台:node.js + express和request模块(初学者)。嗨,我简单地得到了router.get后跟一个请求,我想修改它从外部服务器获得的头文件,并将它发送给请求特定数据的用户。node.js - 如何修改响应头文件

router.get('/', function(req, res){ 
    var someUserRequest = request('http://google.com', function(error, resp, body){ 
     if (error){ 
     console.log(error); 
     } 
     console.log(resp.headers); //lets assume that there is 'x-content-type-options' that I don't want for example 
    } 
    req.pipe(someUserRequest).on('response', function(response){ 
    delete response.headers['x-content-type-options']; 
    console.log(response.headers); // everything looks fine here - no 'x-content-type-options' 
    }).pipe(res); 
}); 
module.exports = router; 

因此,它接缝,没有'x-content-type-options'。但是,当我在Chrome开发人员工具(网络)中查看时,我可以清楚地看到'x-content-type-options:nosniff' - 即使我清除了所有历史记录/缓存。

那么为什么它不工作?有人可以解释我错误在哪里吗?

回答

1

我认为你可能需要拼接数组,那么可以尝试在测试条件之前和之后

delete 

,看是否存在response.headers

['x-content-type-options'] 

如果确实如此,那么你可以改为拼接。

阅读更多关于delete这里