diff options
author | Morgan Roderick <morgan@roderick.dk> | 2018-11-06 15:24:26 +0000 |
---|---|---|
committer | Rich Trott <rtrott@gmail.com> | 2018-11-22 04:45:27 -0800 |
commit | 91748dd89c652939d52f38b94afe9eae4eb8fd5d (patch) | |
tree | f9e073cd648c5b969423ac753fce1a4215fd9701 | |
parent | 070995d5866beb31ee2b64ece90b883674a95b40 (diff) | |
download | android-node-v8-91748dd89c652939d52f38b94afe9eae4eb8fd5d.tar.gz android-node-v8-91748dd89c652939d52f38b94afe9eae4eb8fd5d.tar.bz2 android-node-v8-91748dd89c652939d52f38b94afe9eae4eb8fd5d.zip |
http: change DEP0066 to a runtime deprecation
Change doc-only deprecation for _headers and _headerNames accessors to a
runtime deprecation.
PR-URL: https://github.com/nodejs/node/pull/24167
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
-rw-r--r-- | doc/api/deprecations.md | 5 | ||||
-rw-r--r-- | lib/_http_outgoing.js | 16 | ||||
-rw-r--r-- | test/parallel/test-http-outgoing-internal-headernames-getter.js | 13 | ||||
-rw-r--r-- | test/parallel/test-http-outgoing-internal-headernames-setter.js | 15 | ||||
-rw-r--r-- | test/parallel/test-http-outgoing-internal-headers.js | 3 |
5 files changed, 43 insertions, 9 deletions
diff --git a/doc/api/deprecations.md b/doc/api/deprecations.md index 5051b71a5a..910606e4f7 100644 --- a/doc/api/deprecations.md +++ b/doc/api/deprecations.md @@ -1344,12 +1344,15 @@ removed. Please use `sloppy` instead. ### DEP0066: outgoingMessage.\_headers, outgoingMessage.\_headerNames <!-- YAML changes: + - version: REPLACEME + pr-url: https://github.com/nodejs/node/pull/24167 + description: Runtime deprecation. - version: v8.0.0 pr-url: https://github.com/nodejs/node/pull/10941 description: Documentation-only deprecation. --> -Type: Documentation-only +Type: Runtime The `http` module `outgoingMessage._headers` and `outgoingMessage._headerNames` properties are deprecated. Use one of the public methods diff --git a/lib/_http_outgoing.js b/lib/_http_outgoing.js index 04a36d2be2..3bedce9d51 100644 --- a/lib/_http_outgoing.js +++ b/lib/_http_outgoing.js @@ -110,10 +110,10 @@ util.inherits(OutgoingMessage, Stream); Object.defineProperty(OutgoingMessage.prototype, '_headers', { - get: function() { + get: util.deprecate(function() { return this.getHeaders(); - }, - set: function(val) { + }, 'OutgoingMessage.prototype._headers is deprecated', 'DEP0066'), + set: util.deprecate(function(val) { if (val == null) { this[outHeadersKey] = null; } else if (typeof val === 'object') { @@ -124,11 +124,11 @@ Object.defineProperty(OutgoingMessage.prototype, '_headers', { headers[name.toLowerCase()] = [name, val[name]]; } } - } + }, 'OutgoingMessage.prototype._headers is deprecated', 'DEP0066') }); Object.defineProperty(OutgoingMessage.prototype, '_headerNames', { - get: function() { + get: util.deprecate(function() { const headers = this[outHeadersKey]; if (headers !== null) { const out = Object.create(null); @@ -141,8 +141,8 @@ Object.defineProperty(OutgoingMessage.prototype, '_headerNames', { return out; } return null; - }, - set: function(val) { + }, 'OutgoingMessage.prototype._headerNames is deprecated', 'DEP0066'), + set: util.deprecate(function(val) { if (typeof val === 'object' && val !== null) { const headers = this[outHeadersKey]; if (!headers) @@ -154,7 +154,7 @@ Object.defineProperty(OutgoingMessage.prototype, '_headerNames', { header[0] = val[keys[i]]; } } - } + }, 'OutgoingMessage.prototype._headerNames is deprecated', 'DEP0066') }); diff --git a/test/parallel/test-http-outgoing-internal-headernames-getter.js b/test/parallel/test-http-outgoing-internal-headernames-getter.js new file mode 100644 index 0000000000..c8bd1f13d5 --- /dev/null +++ b/test/parallel/test-http-outgoing-internal-headernames-getter.js @@ -0,0 +1,13 @@ +'use strict'; +const common = require('../common'); + +const { OutgoingMessage } = require('http'); + +const warn = 'OutgoingMessage.prototype._headerNames is deprecated'; +common.expectWarning('DeprecationWarning', warn, 'DEP0066'); + +{ + // tests for _headerNames get method + const outgoingMessage = new OutgoingMessage(); + outgoingMessage._headerNames; +} diff --git a/test/parallel/test-http-outgoing-internal-headernames-setter.js b/test/parallel/test-http-outgoing-internal-headernames-setter.js new file mode 100644 index 0000000000..7329076698 --- /dev/null +++ b/test/parallel/test-http-outgoing-internal-headernames-setter.js @@ -0,0 +1,15 @@ +'use strict'; +const common = require('../common'); + +const { OutgoingMessage } = require('http'); + +const warn = 'OutgoingMessage.prototype._headerNames is deprecated'; +common.expectWarning('DeprecationWarning', warn, 'DEP0066'); + +{ + // tests for _headerNames set method + const outgoingMessage = new OutgoingMessage(); + outgoingMessage._headerNames = { + 'x-flow-id': '61bba6c5-28a3-4eab-9241-2ecaa6b6a1fd' + }; +} diff --git a/test/parallel/test-http-outgoing-internal-headers.js b/test/parallel/test-http-outgoing-internal-headers.js index de75a44e8a..2cebfe9e2b 100644 --- a/test/parallel/test-http-outgoing-internal-headers.js +++ b/test/parallel/test-http-outgoing-internal-headers.js @@ -6,6 +6,9 @@ const assert = require('assert'); const { outHeadersKey } = require('internal/http'); const { OutgoingMessage } = require('http'); +const warn = 'OutgoingMessage.prototype._headers is deprecated'; +common.expectWarning('DeprecationWarning', warn, 'DEP0066'); + { // tests for _headers get method const outgoingMessage = new OutgoingMessage(); |