私はnode.jsプロキシサーバーを書いており、別のドメインのAPIにリクエストを提供しています。
node-http-proxyを使用したいのですが、すでに応答ヘッダーを変更する方法を見つけています。
GET
しかし、条件POST
に応じてリクエスト データを変更する方法 (API キーを追加するなど) はありUPDATE
ますDELETE
か?
それとも、node-http-proxyの目的を台無しにしていて、私の目的により適したものがあるのでしょうか?
私はnode.jsプロキシサーバーを書いており、別のドメインのAPIにリクエストを提供しています。
node-http-proxyを使用したいのですが、すでに応答ヘッダーを変更する方法を見つけています。
GET
しかし、条件POST
に応じてリクエスト データを変更する方法 (API キーを追加するなど) はありUPDATE
ますDELETE
か?
それとも、node-http-proxyの目的を台無しにしていて、私の目的により適したものがあるのでしょうか?
これを非常に簡単にする 1 つのアプローチは、ミドルウェアを使用することです。
var http = require('http'),
httpProxy = require('http-proxy');
var apiKeyMiddleware = function (apiKey) {
return function (request, response, next) {
// Here you check something about the request. Silly example:
if (request.headers['content-type'] === 'application/x-www-form-urlencoded') {
// and now you can add things to the headers, querystring, etc.
request.headers.apiKey = apiKey;
}
next();
};
};
// use 'abc123' for API key middleware
// listen on port 8000
// forward the requests to 192.168.0.12 on port 3000
httpProxy.createServer(apiKeyMiddleware('abc123'), 3000, '192.168.0.12').listen(8000);
詳細とアプローチに関する注意事項については、Node-HTTP-Proxy、Middlewares、および Youを参照してください。