mirror of
https://github.com/http-party/node-http-proxy.git
synced 2025-12-08 20:59:18 +00:00
support old (port,host) and (options) style when using middlewares
This commit is contained in:
parent
c773eedeb6
commit
7976de1121
@ -112,6 +112,7 @@ exports.getMaxSockets = function () {
|
||||
exports.setMaxSockets = function (value) {
|
||||
maxSockets = value;
|
||||
};
|
||||
|
||||
//
|
||||
// stack
|
||||
// adapted from https://github.com/creationix/stack
|
||||
@ -122,15 +123,16 @@ function stack (middlewares, proxy) {
|
||||
middlewares.reverse().forEach(function (layer) {
|
||||
|
||||
var child = handle;
|
||||
handle = function (req, res) {
|
||||
var next = function (err) {
|
||||
if (err) {
|
||||
throw err;
|
||||
//TODO: figure out where to send errors.
|
||||
//return error(req, res, err);
|
||||
}
|
||||
child(req, res);
|
||||
}
|
||||
next.__proto__ = proxy;
|
||||
handle = function (req, res) {
|
||||
layer(req, res, next);
|
||||
};
|
||||
});
|
||||
@ -167,11 +169,6 @@ exports.createServer = function () {
|
||||
|
||||
var proxy = new HttpProxy(options);
|
||||
|
||||
if(middleware.length)
|
||||
//handler = callback = middleware.shift()
|
||||
//else if (middleware.length)
|
||||
handler = callback = stack(middleware, proxy);
|
||||
|
||||
if (port && host) {
|
||||
//
|
||||
// If we have a target host and port for the request
|
||||
@ -183,6 +180,8 @@ exports.createServer = function () {
|
||||
host: host
|
||||
});
|
||||
}
|
||||
if(middleware.length)
|
||||
middleware.push(handler)
|
||||
}
|
||||
else if (proxy.proxyTable) {
|
||||
//
|
||||
@ -192,8 +191,16 @@ exports.createServer = function () {
|
||||
handler = function (req, res) {
|
||||
proxy.proxyRequest(req, res);
|
||||
}
|
||||
if(middleware.length)
|
||||
middleware.push(handler)
|
||||
}
|
||||
else if (!handler) {
|
||||
|
||||
if(middleware.length)
|
||||
//handler = callback = middleware.shift()
|
||||
//else if (middleware.length)
|
||||
handler = callback = stack(middleware, proxy);
|
||||
|
||||
if (!handler) {
|
||||
//
|
||||
// Otherwise this server is improperly configured.
|
||||
//
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user