2015-04-02 118 views
0

是否可以使用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(); 
    } 
} 

回答

0

我認爲你需要設置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