From 9ebb0ed61814f1277720f223a84baa28d02659c0 Mon Sep 17 00:00:00 2001 From: Spencer Alger Date: Fri, 14 Mar 2014 08:25:54 -0700 Subject: [PATCH 1/2] really fix the use of ForeverAgent --- src/lib/connectors/_custom_forever_agent.js | 17 +++++++++++++++++ src/lib/connectors/http.js | 6 ++---- 2 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 src/lib/connectors/_custom_forever_agent.js diff --git a/src/lib/connectors/_custom_forever_agent.js b/src/lib/connectors/_custom_forever_agent.js new file mode 100644 index 000000000..c40ba3a6e --- /dev/null +++ b/src/lib/connectors/_custom_forever_agent.js @@ -0,0 +1,17 @@ +module.exports = CustomForeverAgent; + +var ForeverAgent = require('forever-agent'); +var inherits = require('util').inherits; + +function CustomForeverAgent(opts) { + ForeverAgent.call(this, opts); +} +inherits(CustomForeverAgent, ForeverAgent); + +CustomForeverAgent.prototype.addRequest = function (req, host, port) { + // force this, so that requests will always use the connection pool + req.useChunkedEncodingByDefault = false; + ForeverAgent.prototype.addRequest.call(this, req, host, port); +}; + +CustomForeverAgent.SSL = ForeverAgent.SSL; \ No newline at end of file diff --git a/src/lib/connectors/http.js b/src/lib/connectors/http.js index 521ba8d0c..8c514fe69 100644 --- a/src/lib/connectors/http.js +++ b/src/lib/connectors/http.js @@ -14,7 +14,7 @@ var handles = { }; var _ = require('../utils'); var qs = require('querystring'); -var ForeverAgent = require('forever-agent'); +var ForeverAgent = require('./_custom_forever_agent'); var ConnectionAbstract = require('../connection'); /** @@ -163,8 +163,6 @@ HttpConnector.prototype.request = function (params, cb) { request.setNoDelay(true); request.setSocketKeepAlive(true); - request.chunkedEncoding = false; - request.useChunkedEncodingByDefault = false; if (params.body) { request.setHeader('Content-Length', Buffer.byteLength(params.body, 'utf8')); @@ -176,4 +174,4 @@ HttpConnector.prototype.request = function (params, cb) { return function () { request.abort(); }; -}; +}; \ No newline at end of file From c4ff168f319f38031f7c6de65856525b5382ce4b Mon Sep 17 00:00:00 2001 From: Spencer Alger Date: Fri, 14 Mar 2014 09:12:48 -0700 Subject: [PATCH 2/2] locked the forever-agent version to prevent accidental breakage after setting up really tight integration --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5f7f4492e..9d6d6262a 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "license": "Apache 2.0", "dependencies": { "chalk": "~0.4", - "forever-agent": "~0.5", + "forever-agent": "0.5.2", "lodash-node": "~2.4", "when": "~2.8" },