mirror of
https://github.com/http-party/node-http-proxy.git
synced 2025-12-08 20:59:18 +00:00
- support unix donain sockets and windows named pipes (socketPath) on node 0.8.x. On node 0.6.x the support was opaque via port, but on the new node, socketPath should be set explicitely.
- avoid adding multiple headers with the same name - fix bug in setting connection
This commit is contained in:
parent
eee6babc98
commit
ffe74ed299
@ -215,6 +215,7 @@ HttpProxy.prototype.proxyRequest = function (req, res, buffer) {
|
||||
outgoing.host = this.target.host;
|
||||
outgoing.hostname = this.target.hostname;
|
||||
outgoing.port = this.target.port;
|
||||
outgoing.socketPath = this.target.socketPath;
|
||||
outgoing.agent = this.target.agent;
|
||||
outgoing.method = req.method;
|
||||
outgoing.path = req.url;
|
||||
@ -237,7 +238,7 @@ HttpProxy.prototype.proxyRequest = function (req, res, buffer) {
|
||||
//
|
||||
// Process the `reverseProxy` `response` when it's received.
|
||||
//
|
||||
if (response.headers.connection) {
|
||||
if (!response.headers.connection) {
|
||||
if (req.headers.connection) { response.headers.connection = req.headers.connection }
|
||||
else { response.headers.connection = 'close' }
|
||||
}
|
||||
@ -281,7 +282,10 @@ HttpProxy.prototype.proxyRequest = function (req, res, buffer) {
|
||||
});
|
||||
|
||||
// Set the headers of the client response
|
||||
res.writeHead(response.statusCode, response.headers);
|
||||
Object.keys(response.headers).forEach(function(key){
|
||||
res.setHeader(key, response.headers[key]);
|
||||
});
|
||||
res.writeHead(response.statusCode);
|
||||
|
||||
// If `response.statusCode === 304`: No 'data' event and no 'end'
|
||||
if (response.statusCode === 304) {
|
||||
|
||||
@ -88,6 +88,7 @@ RoutingProxy.prototype.add = function (options) {
|
||||
options.target = options.target || {};
|
||||
options.target.host = options.target.host || options.host;
|
||||
options.target.port = options.target.port || options.port;
|
||||
options.target.socketPath = options.target.socketPath || options.socketPath;
|
||||
options.target.https = this.target && this.target.https ||
|
||||
options.target && options.target.https;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user