express-http-proxy-continuum

0.6.1 • Public • Published

express-http-proxy NPM version Build Status Dependency Status

Express proxy middleware to forward request to another host and pass response back

Install

$ npm install express-http-proxy --save

Usage

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;
  }
}));
 

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

Readme

Keywords

Package Sidebar

Install

npm i express-http-proxy-continuum

Weekly Downloads

2

Version

0.6.1

License

MIT

Last publish

Collaborators

  • maxkorp