node-http-proxy设置img请求标题

问题描述:

是否可以使用node-http-proxy为img src属性设置请求标头?我得到一个401错误,因为我的服务器期望每个请求的标题属性:值,包括img src属性。我为index.js文件中的所有请求设置了标题,但没有为img请求设置标题。我试图检查请求是否用于图像,然后在使用node-http-proxy发送请求之前设置标题。node-http-proxy设置img请求标题

// index.js -- works for non img src requests 
    if ($rootScope.foobar_header !== undefined) { 
    headersGetter()['X-Special-Proxy-Header'] = $rootScope.foobar_header; 
    } 
    if (data) { 
     return angular.toJson(data); 
    } 

功能proxyMiddleware(REQ,水库,下一个){

if (req.url.indexOf(proxyApiPrefix) !== -1) { 
     if (req.url.indexOf(proxyImgPrefix) !== -1) { 
     console.log('img request'); 
     proxy.on('proxyReq', function(proxyReq, req, res, options) { 
      proxyReq.setHeader('X-Special-Proxy-Header', 'foobar_header'); 
     }); 
     } 
    proxy.web(req, res); 
    } else { 
    next(); 
    } 
} 

我认为你需要设置proxy.on...位运行您的服务器之前,而不是一些中间件内,尽管它很难成为肯定没有看到更多的代码。

docs显示,你可以做这样的事情:

proxy.on('proxyReq', function(proxyReq, req, res, options) { 
    if (req.url.indexOf(proxyApiPrefix) !== -1) { 
    if (req.url.indexOf(proxyImgPrefix) !== -1) { 
     console.log('img request'); 
     proxyReq.setHeader('X-Special-Proxy-Header', 'foobar_header'); 
    } 
    } 
}); 
+0

是的,我试过,但没有运气。 – neridaj 2015-04-03 22:00:50