Blackbing Playground

[expressjs] request proxy

api proxy

最近使用 expressjs 要將 api proxy 到另外一個 domain 的 api server 上。查了一下最簡單的做法是用 request 來處理。

1
2
3
4
5
6
7
8
9
10
var API_HOST = 'xxx.com';
app.use('/proxy', function(req, res) {
var request_params, url;
url = 'http://' + API_HOST + req.url;
request_params = {
followAllRedirects: true, //redirect if 301~400
body: JSON.stringify(req.body) //POST/PUT/DELETE data
};
return req.pipe(request(url, request_params)).pipe(res);
});

看起來很簡單不過為了要解決 api server 會做 301/302 redirect 的動作,追了sourcecode才知道有這個 followAllRedirects 的設定,特此記錄一下。

reference: