summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMorgan Roderick <morgan@roderick.dk>2018-11-06 15:24:26 +0000
committerRich Trott <rtrott@gmail.com>2018-11-22 04:45:27 -0800
commit91748dd89c652939d52f38b94afe9eae4eb8fd5d (patch)
treef9e073cd648c5b969423ac753fce1a4215fd9701
parent070995d5866beb31ee2b64ece90b883674a95b40 (diff)
downloadandroid-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.md5
-rw-r--r--lib/_http_outgoing.js16
-rw-r--r--test/parallel/test-http-outgoing-internal-headernames-getter.js13
-rw-r--r--test/parallel/test-http-outgoing-internal-headernames-setter.js15
-rw-r--r--test/parallel/test-http-outgoing-internal-headers.js3
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();