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
- if (options.timeout) {
55
- this.socket.setTimeout(options.timeout)
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)
@@ -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
- if (this.scope.contentLen) {
179
- // https://tools.ietf.org/html/rfc7230#section-3.3.2
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(size) {
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 in the queue or
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.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": "http://github.com/nock/nock/issues"
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
- "@sinonjs/fake-timers": "^8.1.0",
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
- "dtslint": "^4.0.4",
36
- "eslint": "^7.3.1",
36
+ "eslint": "^8.8.0",
37
37
  "eslint-config-prettier": "^8.1.0",
38
- "eslint-config-standard": "^16.0.2",
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": "^12.0.1",
52
+ "sinon": "^13.0.1",
54
53
  "sinon-chai": "^3.7.0",
55
54
  "typescript": "^4.2.2"
56
55
  },