Package Exports
- express-http-proxy
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (express-http-proxy) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
express-http-proxy

NOTE: As work content changed, I have no spare time to maintaining this node module, It's appreciated if anyone want to take or keep maintaining, just contact me via jky239@gmail.com with Title contains: "Wanted: npm package xxxx". Thx.
Express proxy middleware to forward request to another host and pass response back
Install
$ npm install express-http-proxy --saveUsage
If you want to set up proxy for URL starting with /proxy
var proxy = require('express-http-proxy');
var app = require('express')();
app.use('/proxy', proxy('www.google.com', {
forwardPath: function(req, res) {
return require('url').parse(req.url).path;
}
}));
If you only want to proxy get request
app.use('/proxy', proxy('www.google.com', {
filter: function(req, res) {
return req.method == 'GET';
},
forwardPath: function(req, res) {
return require('url').parse(req.url).path;
}
}));You can also intercept the response before sending it back to the client, or change the request options before it is sent to the target:
app.use('/proxy', proxy('www.google.com', {
forwardPath: function(req, res) {
return require('url').parse(req.url).path;
},
intercept: function(rsp, data, req, res, callback) {
// rsp - original response from the target
data = JSON.parse(data.toString('utf8'));
callback(null, JSON.stringify(data));
},
decorateRequest: function(req) {
req.headers['Content-Type'] = '';
req.method = 'GET';
req.bodyContent = wrap(req.bodyContent);
return req;
}
}));
You can copy the host HTTP header to the proxied express server using the preserveHostHdr option.
app.use('/proxy', proxy('www.google.com', {
forwardPath: function(req, res) {
return require('url').parse(req.url).path;
},
preserveHostHdr: true
}));Release Notes
| Release | Notes |
|---|---|
| 0.4.0 | Signature of intercept callback changed from function(data, req, res, callback) to function(rsp, data, req, res, callback) where rsp is the original response from the target |
Licence
MIT