From 4827c47e79a0373260bb5b27621dd60796a6935d Mon Sep 17 00:00:00 2001 From: Artem Maksimov Date: Wed, 6 Nov 2019 18:20:02 +0300 Subject: [PATCH] http: destruct primordials in lib/_http_server.js Destruct primordials for better perfomance --- lib/_http_server.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/_http_server.js b/lib/_http_server.js index 82f9b91795d8a0..59dee5f0712fb6 100644 --- a/lib/_http_server.js +++ b/lib/_http_server.js @@ -21,7 +21,12 @@ 'use strict'; -const { Object } = primordials; +const { + Object: { + setPrototypeOf: ObjectSetPrototypeOf, + keys: ObjectKeys, + } +} = primordials; const net = require('net'); const assert = require('internal/assert'); @@ -162,8 +167,8 @@ function ServerResponse(req) { }; } } -Object.setPrototypeOf(ServerResponse.prototype, OutgoingMessage.prototype); -Object.setPrototypeOf(ServerResponse, OutgoingMessage); +ObjectSetPrototypeOf(ServerResponse.prototype, OutgoingMessage.prototype); +ObjectSetPrototypeOf(ServerResponse, OutgoingMessage); ServerResponse.prototype._finish = function _finish() { DTRACE_HTTP_SERVER_RESPONSE(this.socket); @@ -254,7 +259,7 @@ function writeHead(statusCode, reason, obj) { // Slow-case: when progressive API and header fields are passed. var k; if (obj) { - var keys = Object.keys(obj); + var keys = ObjectKeys(obj); for (var i = 0; i < keys.length; i++) { k = keys[i]; if (k) this.setHeader(k, obj[k]); @@ -337,8 +342,8 @@ function Server(options, requestListener) { this.maxHeadersCount = null; this.headersTimeout = 40 * 1000; // 40 seconds } -Object.setPrototypeOf(Server.prototype, net.Server.prototype); -Object.setPrototypeOf(Server, net.Server); +ObjectSetPrototypeOf(Server.prototype, net.Server.prototype); +ObjectSetPrototypeOf(Server, net.Server); Server.prototype.setTimeout = function setTimeout(msecs, callback) {