summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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();