Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit a4d64f9

Browse filesBrowse files
aduh95danielleadams
authored andcommitted
https: refactor to use more primordials
PR-URL: #36195 Reviewed-By: Andrey Pechkurov <apechkurov@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
1 parent ffaa8c1 commit a4d64f9
Copy full SHA for a4d64f9

File tree

Expand file treeCollapse file tree

1 file changed

+20
-13
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

1 file changed

+20
-13
lines changed
Open diff view settings
Collapse file

‎lib/https.js‎

Copy file name to clipboardExpand all lines: lib/https.js
+20-13Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,16 @@
2222
'use strict';
2323

2424
const {
25+
ArrayPrototypeIndexOf,
26+
ArrayPrototypePush,
27+
ArrayPrototypeShift,
28+
ArrayPrototypeSplice,
29+
ArrayPrototypeUnshift,
30+
FunctionPrototypeCall,
31+
JSONStringify,
2532
ObjectAssign,
2633
ObjectSetPrototypeOf,
27-
JSONStringify,
34+
ReflectConstruct,
2835
} = primordials;
2936

3037
require('internal/util').assertCrypto();
@@ -64,7 +71,7 @@ function Server(opts, requestListener) {
6471
this[kIncomingMessage] = opts.IncomingMessage || IncomingMessage;
6572
this[kServerResponse] = opts.ServerResponse || ServerResponse;
6673

67-
tls.Server.call(this, opts, _connectionListener);
74+
FunctionPrototypeCall(tls.Server, this, opts, _connectionListener);
6875

6976
this.httpAllowHalfOpen = false;
7077

@@ -150,7 +157,7 @@ function Agent(options) {
150157
if (!(this instanceof Agent))
151158
return new Agent(options);
152159

153-
HttpAgent.call(this, options);
160+
FunctionPrototypeCall(HttpAgent, this, options);
154161
this.defaultPort = 443;
155162
this.protocol = 'https:';
156163
this.maxCachedSessions = this.options.maxCachedSessions;
@@ -167,7 +174,7 @@ ObjectSetPrototypeOf(Agent, HttpAgent);
167174
Agent.prototype.createConnection = createConnection;
168175

169176
Agent.prototype.getName = function getName(options) {
170-
let name = HttpAgent.prototype.getName.call(this, options);
177+
let name = FunctionPrototypeCall(HttpAgent.prototype.getName, this, options);
171178

172179
name += ':';
173180
if (options.ca)
@@ -269,21 +276,21 @@ Agent.prototype._cacheSession = function _cacheSession(key, session) {
269276

270277
// Put new entry
271278
if (this._sessionCache.list.length >= this.maxCachedSessions) {
272-
const oldKey = this._sessionCache.list.shift();
279+
const oldKey = ArrayPrototypeShift(this._sessionCache.list);
273280
debug('evicting %j', oldKey);
274281
delete this._sessionCache.map[oldKey];
275282
}
276283

277-
this._sessionCache.list.push(key);
284+
ArrayPrototypePush(this._sessionCache.list, key);
278285
this._sessionCache.map[key] = session;
279286
};
280287

281288
Agent.prototype._evictSession = function _evictSession(key) {
282-
const index = this._sessionCache.list.indexOf(key);
289+
const index = ArrayPrototypeIndexOf(this._sessionCache.list, key);
283290
if (index === -1)
284291
return;
285292

286-
this._sessionCache.list.splice(index, 1);
293+
ArrayPrototypeSplice(this._sessionCache.list, index, 1);
287294
delete this._sessionCache.map[key];
288295
};
289296

@@ -294,7 +301,7 @@ function request(...args) {
294301
let options = {};
295302

296303
if (typeof args[0] === 'string') {
297-
const urlStr = args.shift();
304+
const urlStr = ArrayPrototypeShift(args);
298305
try {
299306
options = urlToOptions(new URL(urlStr));
300307
} catch (err) {
@@ -313,17 +320,17 @@ function request(...args) {
313320
} else if (args[0] && args[0][searchParamsSymbol] &&
314321
args[0][searchParamsSymbol][searchParamsSymbol]) {
315322
// url.URL instance
316-
options = urlToOptions(args.shift());
323+
options = urlToOptions(ArrayPrototypeShift(args));
317324
}
318325

319326
if (args[0] && typeof args[0] !== 'function') {
320-
ObjectAssign(options, args.shift());
327+
ObjectAssign(options, ArrayPrototypeShift(args));
321328
}
322329

323330
options._defaultAgent = module.exports.globalAgent;
324-
args.unshift(options);
331+
ArrayPrototypeUnshift(args, options);
325332

326-
return new ClientRequest(...args);
333+
return ReflectConstruct(ClientRequest, args);
327334
}
328335

329336
function get(input, options, cb) {

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.