6

私はnode.jsプロキシサーバーを書いており、別のドメインのAPIにリクエストを提供しています。

node-http-proxyを使用したいのですが、すでに応答ヘッダーを変更する方法を見つけています。

GETしかし、条件POSTに応じてリクエスト データを変更する方法 (API キーを追加するなど) はありUPDATEますDELETEか?

それとも、node-http-proxyの目的を台無しにしていて、私の目的により適したものがあるのでしょうか?

4

1 に答える 1

3

これを非常に簡単にする 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を参照してください。

于 2012-12-14T18:53:15.923 に答える