nock 13.2.2 → 13.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -51,8 +51,12 @@ class InterceptedRequestRouter {
|
|
|
51
51
|
|
|
52
52
|
// support setting `timeout` using request `options`
|
|
53
53
|
// https://nodejs.org/docs/latest-v12.x/api/http.html#http_http_request_url_options_callback
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
// any timeout in the request options override any timeout in the agent options.
|
|
55
|
+
// per https://github.com/nodejs/node/pull/21204
|
|
56
|
+
const timeout =
|
|
57
|
+
options.timeout || (options.agent && options.agent.options.timeout)
|
|
58
|
+
if (timeout) {
|
|
59
|
+
this.socket.setTimeout(timeout)
|
|
56
60
|
}
|
|
57
61
|
|
|
58
62
|
this.response = new IncomingMessage(this.socket)
|
package/lib/interceptor.js
CHANGED
|
@@ -156,7 +156,7 @@ module.exports = class Interceptor {
|
|
|
156
156
|
)
|
|
157
157
|
|
|
158
158
|
// If the content is not encoded we may need to transform the response body.
|
|
159
|
-
// Otherwise we leave it as it is.
|
|
159
|
+
// Otherwise, we leave it as it is.
|
|
160
160
|
if (
|
|
161
161
|
body &&
|
|
162
162
|
typeof body !== 'string' &&
|
|
@@ -174,10 +174,14 @@ module.exports = class Interceptor {
|
|
|
174
174
|
// https://tools.ietf.org/html/rfc7231#section-3.1.1.5
|
|
175
175
|
this.rawHeaders.push('Content-Type', 'application/json')
|
|
176
176
|
}
|
|
177
|
+
}
|
|
177
178
|
|
|
178
|
-
|
|
179
|
-
|
|
179
|
+
if (this.scope.contentLen) {
|
|
180
|
+
// https://tools.ietf.org/html/rfc7230#section-3.3.2
|
|
181
|
+
if (typeof body === 'string') {
|
|
180
182
|
this.rawHeaders.push('Content-Length', body.length)
|
|
183
|
+
} else if (Buffer.isBuffer(body)) {
|
|
184
|
+
this.rawHeaders.push('Content-Length', body.byteLength)
|
|
181
185
|
}
|
|
182
186
|
}
|
|
183
187
|
|
|
@@ -79,7 +79,7 @@ class ReadableBuffers extends stream.Readable {
|
|
|
79
79
|
this.buffers = buffers
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
_read(
|
|
82
|
+
_read(_size) {
|
|
83
83
|
while (this.buffers.length) {
|
|
84
84
|
if (!this.push(this.buffers.shift())) {
|
|
85
85
|
return
|
|
@@ -315,7 +315,7 @@ function playbackInterceptor({
|
|
|
315
315
|
|
|
316
316
|
// Calling `start` immediately could take the request all the way to the connection delay
|
|
317
317
|
// during a single microtask execution. This setImmediate stalls the playback to ensure the
|
|
318
|
-
// correct events are emitted first ('socket', 'finish') and any aborts in the
|
|
318
|
+
// correct events are emitted first ('socket', 'finish') and any aborts in the queue or
|
|
319
319
|
// called during a 'finish' listener can be called.
|
|
320
320
|
common.setImmediate(() => {
|
|
321
321
|
if (!common.isRequestDestroyed(req)) {
|
package/package.json
CHANGED
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
"testing",
|
|
8
8
|
"isolation"
|
|
9
9
|
],
|
|
10
|
-
"version": "13.2.
|
|
10
|
+
"version": "13.2.3",
|
|
11
11
|
"author": "Pedro Teixeira <pedro.teixeira@gmail.com>",
|
|
12
12
|
"repository": {
|
|
13
13
|
"type": "git",
|
|
14
14
|
"url": "https://github.com/nock/nock.git"
|
|
15
15
|
},
|
|
16
16
|
"bugs": {
|
|
17
|
-
"url": "
|
|
17
|
+
"url": "https://github.com/nock/nock/issues"
|
|
18
18
|
},
|
|
19
19
|
"engines": {
|
|
20
20
|
"node": ">= 10.13"
|
|
@@ -28,19 +28,18 @@
|
|
|
28
28
|
"propagate": "^2.0.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@
|
|
31
|
+
"@definitelytyped/dtslint": "^0.0.103",
|
|
32
|
+
"@sinonjs/fake-timers": "^9.0.0",
|
|
32
33
|
"assert-rejects": "^1.0.0",
|
|
33
34
|
"chai": "^4.1.2",
|
|
34
35
|
"dirty-chai": "^2.0.1",
|
|
35
|
-
"
|
|
36
|
-
"eslint": "^7.3.1",
|
|
36
|
+
"eslint": "^8.8.0",
|
|
37
37
|
"eslint-config-prettier": "^8.1.0",
|
|
38
|
-
"eslint-config-standard": "^
|
|
38
|
+
"eslint-config-standard": "^17.0.0-0",
|
|
39
39
|
"eslint-plugin-import": "^2.16.0",
|
|
40
40
|
"eslint-plugin-mocha": "^10.0.3",
|
|
41
41
|
"eslint-plugin-node": "^11.0.0",
|
|
42
42
|
"eslint-plugin-promise": "^6.0.0",
|
|
43
|
-
"eslint-plugin-standard": "^5.0.0",
|
|
44
43
|
"form-data": "^4.0.0",
|
|
45
44
|
"got": "^11.3.0",
|
|
46
45
|
"mocha": "^9.1.3",
|
|
@@ -50,7 +49,7 @@
|
|
|
50
49
|
"proxyquire": "^2.1.0",
|
|
51
50
|
"rimraf": "^3.0.0",
|
|
52
51
|
"semantic-release": "^18.0.1",
|
|
53
|
-
"sinon": "^
|
|
52
|
+
"sinon": "^13.0.1",
|
|
54
53
|
"sinon-chai": "^3.7.0",
|
|
55
54
|
"typescript": "^4.2.2"
|
|
56
55
|
},
|