如何修改与快递
背景
我使用express-http-proxy来代理我的SPA之间的请求一小撮(单页的应用程序)和CouchDB实例。我在做这个代理在每个呼叫的基础上,而不是建立一个代理服务器(这将是一个重要的时刻)。
例如目前使用的
app.use(`some/url`, proxy(dburl, {
forwardPath: req => {return 'some/url'+require('url').parse(req.url).path;}
}) );
这意味着我没有使用httpProxy.createServer
。我想用我的头回应一起发送的文本数据的一些片断。通过documentation看后我得出的结论是什么,我想将使用intercept
。不幸的是,我不是很成功地掌握如何使用它,以及only related questions我发现迄今似乎是在此基础上出现(从我有限的了解)不同的工作httpProxy.createServer
。
我们使用的是因为我们希望能代理不同要求不同的微服务单独的请求代理,以及这样做的发现这是最简明的方式(即我们知道的和当时的)。
问题
由于代码
const text = 'asdf';
app.use(`some/url`, proxy(dburl, {
forwardPath: req => {return 'some/url'+require('url').parse(req.url).path;},
intercept: function(rsp, data, req, res, callback) {
//SUSPECT LOCATION
}
}) );
是否有一些代码在SUSPECT LOCATION
这将让我把text
在头部的最后答复没有进一步影响到(目前否则工作)代理?
补充笔记
头和一般的网络请求是不是对我很熟悉,我道歉,如果答案似乎不言自明。
积分为一个链接到一个资源,可以帮助解释或者使用这个库的代理,为代理一个类似图书馆的细点或潜在的技术,其将明确如何使用这个库代理。 AKA我宁愿花我自己的一些时间进一步寻找到这一点,并没有回来作进一步的问题。
我不完全相信,我的代码,地点将是SUSPECT LOCATION
,我会很乐意听,如果它需要去别的地方,或者如果我们需要以不同的方式来解决这个问题。
它遵循的REQ express.js方法,资源对象。
内的截距功能体,使用下面的快车格式设置响应标头。
res.set('hola', 'amigos!!!');
请参考以下链接: http://expressjs/en/4x/api.html#res.set
要了解一个库时,有没有文件,最好的办法是遵循它的测试套件。如果没有测试套件不使用该库。
这是测试套件快递-HTTP代理拦截功能 https://github/villadora/express-http-proxy/blob/master/test/intercept.js
这是测试用例
it('can modify the response headers', function(done) {
var app = express();
app.use(proxy('httpbin', {
intercept: function(rsp, data, req, res, cb) {
res.set('x-wombat-alliance', 'mammels');
res.set('content-type', 'wiki/wiki');
cb(null, data);
}
}));
request(app)
.get('/ip')
.end(function(err, res) {
if (err) { return done(err); }
assert(res.headers['content-type'] === 'wiki/wiki');
assert(res.headers['x-wombat-alliance'] === 'mammels');
done();
});
});
如果你想和退出代理的了解,最好的资源是HAProxy的 qazxsw POI
但在此之前,你需要了解更多的HTTP(建设性的评论)
如何修改与快递
背景
我使用express-http-proxy来代理我的SPA之间的请求一小撮(单页的应用程序)和CouchDB实例。我在做这个代理在每个呼叫的基础上,而不是建立一个代理服务器(这将是一个重要的时刻)。
例如目前使用的
app.use(`some/url`, proxy(dburl, {
forwardPath: req => {return 'some/url'+require('url').parse(req.url).path;}
}) );
这意味着我没有使用httpProxy.createServer
。我想用我的头回应一起发送的文本数据的一些片断。通过documentation看后我得出的结论是什么,我想将使用intercept
。不幸的是,我不是很成功地掌握如何使用它,以及only related questions我发现迄今似乎是在此基础上出现(从我有限的了解)不同的工作httpProxy.createServer
。
我们使用的是因为我们希望能代理不同要求不同的微服务单独的请求代理,以及这样做的发现这是最简明的方式(即我们知道的和当时的)。
问题
由于代码
const text = 'asdf';
app.use(`some/url`, proxy(dburl, {
forwardPath: req => {return 'some/url'+require('url').parse(req.url).path;},
intercept: function(rsp, data, req, res, callback) {
//SUSPECT LOCATION
}
}) );
是否有一些代码在SUSPECT LOCATION
这将让我把text
在头部的最后答复没有进一步影响到(目前否则工作)代理?
补充笔记
头和一般的网络请求是不是对我很熟悉,我道歉,如果答案似乎不言自明。
积分为一个链接到一个资源,可以帮助解释或者使用这个库的代理,为代理一个类似图书馆的细点或潜在的技术,其将明确如何使用这个库代理。 AKA我宁愿花我自己的一些时间进一步寻找到这一点,并没有回来作进一步的问题。
我不完全相信,我的代码,地点将是SUSPECT LOCATION
,我会很乐意听,如果它需要去别的地方,或者如果我们需要以不同的方式来解决这个问题。
它遵循的REQ express.js方法,资源对象。
内的截距功能体,使用下面的快车格式设置响应标头。
res.set('hola', 'amigos!!!');
请参考以下链接: http://expressjs/en/4x/api.html#res.set
要了解一个库时,有没有文件,最好的办法是遵循它的测试套件。如果没有测试套件不使用该库。
这是测试套件快递-HTTP代理拦截功能 https://github/villadora/express-http-proxy/blob/master/test/intercept.js
这是测试用例
it('can modify the response headers', function(done) {
var app = express();
app.use(proxy('httpbin', {
intercept: function(rsp, data, req, res, cb) {
res.set('x-wombat-alliance', 'mammels');
res.set('content-type', 'wiki/wiki');
cb(null, data);
}
}));
request(app)
.get('/ip')
.end(function(err, res) {
if (err) { return done(err); }
assert(res.headers['content-type'] === 'wiki/wiki');
assert(res.headers['x-wombat-alliance'] === 'mammels');
done();
});
});
如果你想和退出代理的了解,最好的资源是HAProxy的 qazxsw POI
但在此之前,你需要了解更多的HTTP(建设性的评论)