diff --git a/doc/api/deprecations.md b/doc/api/deprecations.md index a111b3a0d6ce4e..b71e9a0aa595f2 100644 --- a/doc/api/deprecations.md +++ b/doc/api/deprecations.md @@ -1480,12 +1480,15 @@ instead. -Type: Documentation-only +Type: Runtime The `node:http` module `ServerResponse.prototype.writeHeader()` API is deprecated. Please use `ServerResponse.prototype.writeHead()` instead. diff --git a/lib/_http_server.js b/lib/_http_server.js index dd743baa306183..eab867a9691b48 100644 --- a/lib/_http_server.js +++ b/lib/_http_server.js @@ -81,6 +81,7 @@ const { } = require('internal/errors'); const { assignFunctionName, + deprecate, kEmptyObject, promisify, } = require('internal/util'); @@ -439,8 +440,9 @@ function writeHead(statusCode, reason, obj) { return this; } -// Docs-only deprecated: DEP0063 -ServerResponse.prototype.writeHeader = ServerResponse.prototype.writeHead; +ServerResponse.prototype.writeHeader = deprecate(ServerResponse.prototype.writeHead, + 'ServerResponse.prototype.writeHeader is deprecated.', + 'DEP0063'); function storeHTTPOptions(options) { this[kIncomingMessage] = options.IncomingMessage || IncomingMessage; diff --git a/test/parallel/test-write-header.js b/test/parallel/test-write-header.js new file mode 100644 index 00000000000000..38a835bcddbf9c --- /dev/null +++ b/test/parallel/test-write-header.js @@ -0,0 +1,20 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const http = require('http'); + +common.expectWarning('DeprecationWarning', + 'ServerResponse.prototype.writeHeader is deprecated.', 'DEP0063'); + +const server = http.createServer(common.mustCall((req, res) => { + res.writeHeader(200, [ 'test', '2', 'test2', '2' ]); + res.end(); +})).listen(0, common.mustCall(() => { + http.get({ port: server.address().port }, common.mustCall((res) => { + assert.strictEqual(res.headers.test, '2'); + assert.strictEqual(res.headers.test2, '2'); + res.resume().on('end', common.mustCall(() => { + server.close(); + })); + })); +}));