【问题标题】:node.js - how to modiffy response headersnode.js - 如何修改响应头
【发布时间】:2017-06-13 01:51:38
【问题描述】:

平台:node.js + express 和 request 模块(初学者)。

嗨,我得到了简单的 router.get 后跟一个请求,我想修改它从外部服务器获取的标头,并将其发送给请求特定数据的用户。

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”——即使我清除了所有历史记录/缓存。

那么为什么它不起作用?有人能解释一下错误在哪里吗?

【问题讨论】:

    标签: node.js request http-headers node.js-stream


    【解决方案1】:

    我认为你可能需要拼接数组,尝试在你之前和之后放置一个测试条件

    delete
    

    看看有没有

    ['x-content-type-options'] 
    

    存在于 response.headers 中。

    如果是这样,那么您可能可以改为拼接。

    在此处阅读更多关于delete 的信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      • 2019-09-06
      • 1970-01-01
      • 2020-10-14
      相关资源
      最近更新 更多