Socket
Socket
Sign inDemoInstall

http-proxy

Package Overview
Dependencies
Maintainers
3
Versions
85
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

http-proxy - npm Package Compare versions

Comparing version 0.6.2 to 0.6.4

89

lib/node-http-proxy.js

@@ -35,5 +35,5 @@ /*

//
// ### Version 0.5.7 // 5/19/2011
// Expose version information through `pkginfo`.
//
exports.version = [0, 5, 7];
require('pkginfo')(module, 'version');

@@ -117,32 +117,8 @@ //

};
//
// stack
// adapted from https://github.com/creationix/stack
//
function stack (middlewares, proxy) {
var handle;
middlewares.reverse().forEach(function (layer) {
var child = handle;
var next = function (err) {
if (err) {
throw err;
//return error(req, res, err);
}
child(req, res);
}
next.__proto__ = proxy;
handle = function (req, res) {
layer(req, res, next);
};
});
return handle;
}
//
// stack
// ### function stack (middlewares, proxy)
// adapted from https://github.com/creationix/stack
//
function stack (middlewares, proxy) {
exports.stack = function stack (middlewares, proxy) {
var handle;

@@ -190,2 +166,3 @@ middlewares.reverse().forEach(function (layer) {

middleware = [],
handler,
silent;

@@ -202,3 +179,3 @@

var proxy = new HttpProxy(options);
proxy = new HttpProxy(options);

@@ -236,6 +213,8 @@ if (port && host) {

if (middleware.length > 1) {
handler = callback = stack(middleware, proxy);
handler = callback = exports.stack(middleware, proxy);
}
else if (middleware.length) {
//do not use middleware code if it's not needed.
//
// Do not use middleware code if it's not needed.
//
var h = middleware[0];

@@ -281,3 +260,2 @@ handler = callback = function (req,res) { h(req,res,proxy) };

server.proxy = proxy;
return server;

@@ -435,4 +413,9 @@ };

if (!location) {
res.writeHead(404);
return res.end();
try {
res.writeHead(404);
res.end();
} catch (er) {
console.error("res.writeHead/res.end error: %s", er.message);
}
return;
}

@@ -460,3 +443,3 @@

//
if (options.enableXForwarded === true) {
if (options.enableXForwarded === true && req.connection) {
req.headers['x-forwarded-for'] = req.connection.remoteAddress || req.connection.socket.remoteAddress;

@@ -513,3 +496,7 @@ req.headers['x-forwarded-port'] = req.connection.remotePort || req.connection.socket.remotePort;

res.end();
try {
res.end();
} catch (er) {
console.error("res.end error: %s", er.message);
}
}

@@ -542,3 +529,8 @@

if (response.statusCode === 304) {
return res.end();
try {
res.end();
} catch (er) {
console.error("res.end error: %s", er.message)
}
return;
}

@@ -548,5 +540,16 @@

// `response` write it to the outgoing `res`.
// If the res socket has been killed already, then write()
// will throw. Nevertheless, try our best to end it nicely.
response.on('data', function (chunk) {
if (req.method !== 'HEAD') {
res.write(chunk);
if (req.method !== 'HEAD' && res.writable) {
try {
res.write(chunk);
} catch (er) {
console.error("res.write error: %s", er.message);
try {
res.end();
} catch (er) {
console.error("res.end error: %s", er.message);
}
}
}

@@ -563,3 +566,7 @@ });

reverseProxy.removeListener('error', proxyError);
res.end();
try {
res.end();
} catch (er) {
console.error("res.end error: %s", er.message);
}

@@ -946,2 +953,2 @@ // Emit the `end` event now that we have completed proxying

}
};
};
{
"name": "http-proxy",
"description": "A full-featured http reverse proxy for node.js",
"version": "0.6.2",
"version": "0.6.4",
"author": "Charlie Robbins <charlie.robbins@gmail.com>",

@@ -18,3 +18,4 @@ "contributors": [

"colors": "0.x.x",
"optimist": "0.2.x"
"optimist": "0.2.x",
"pkginfo": "0.2.x"
},

@@ -21,0 +22,0 @@ "devDependencies": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc