Skip to content

Commit 7ccaa4b

Browse files
author
Pedro Branco
committed
Fix changing request by reference
1 parent 54a0fea commit 7ccaa4b

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

index.js

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,31 @@ var clone = require('stringify-clone');
22

33
var debugId = 0
44

5-
module.exports = exports = function(request, log) {
5+
module.exports = exports = function(requestObj, log) {
66
log = log || exports.log
77

8+
var request = requestObj
89
var proto
9-
if (request.Request) {
10-
proto = request.Request.prototype
11-
} else if (request.get && request.post) {
10+
11+
if (requestObj.Request) {
12+
request = requestObj.defaults({});
13+
}
14+
15+
if (request.get && request.post) {
1216
// The object returned by request.defaults() doesn't include the
1317
// Request property, so do this horrible thing to get at it. Per
1418
// Wikipedia, port 4 is unassigned.
15-
var req = request('http://localhost:4').on('error', function() { })
16-
proto = req.constructor.prototype
19+
var Request = request('http://localhost:4').on('error', function() { })
20+
21+
request.Request = Object.assign({}, Request);
22+
request.Request.prototype = Object.assign({}, Request.prototype);
1723
} else {
1824
throw new Error(
1925
"Pass the object returned by require('request') to this function.")
2026
}
2127

28+
proto = request.Request.prototype
29+
2230
if (!proto._initBeforeDebug) {
2331
proto._initBeforeDebug = proto.init
2432

@@ -83,6 +91,8 @@ module.exports = exports = function(request, log) {
8391
delete proto._initBeforeDebug
8492
}
8593
}
94+
95+
return request;
8696
}
8797

8898
exports.log = function(type, data, r) {

0 commit comments

Comments
 (0)