mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
https: refactor to use more primordials
PR-URL: https://github.com/nodejs/node/pull/36195 Reviewed-By: Andrey Pechkurov <apechkurov@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
This commit is contained in:
committed by
Node.js GitHub Bot
parent
6c50d744b3
commit
aabbf3011b
33
lib/https.js
33
lib/https.js
@@ -22,9 +22,16 @@
|
||||
'use strict';
|
||||
|
||||
const {
|
||||
ArrayPrototypeIndexOf,
|
||||
ArrayPrototypePush,
|
||||
ArrayPrototypeShift,
|
||||
ArrayPrototypeSplice,
|
||||
ArrayPrototypeUnshift,
|
||||
FunctionPrototypeCall,
|
||||
JSONStringify,
|
||||
ObjectAssign,
|
||||
ObjectSetPrototypeOf,
|
||||
JSONStringify,
|
||||
ReflectConstruct,
|
||||
} = primordials;
|
||||
|
||||
require('internal/util').assertCrypto();
|
||||
@@ -64,7 +71,7 @@ function Server(opts, requestListener) {
|
||||
this[kIncomingMessage] = opts.IncomingMessage || IncomingMessage;
|
||||
this[kServerResponse] = opts.ServerResponse || ServerResponse;
|
||||
|
||||
tls.Server.call(this, opts, _connectionListener);
|
||||
FunctionPrototypeCall(tls.Server, this, opts, _connectionListener);
|
||||
|
||||
this.httpAllowHalfOpen = false;
|
||||
|
||||
@@ -150,7 +157,7 @@ function Agent(options) {
|
||||
if (!(this instanceof Agent))
|
||||
return new Agent(options);
|
||||
|
||||
HttpAgent.call(this, options);
|
||||
FunctionPrototypeCall(HttpAgent, this, options);
|
||||
this.defaultPort = 443;
|
||||
this.protocol = 'https:';
|
||||
this.maxCachedSessions = this.options.maxCachedSessions;
|
||||
@@ -167,7 +174,7 @@ ObjectSetPrototypeOf(Agent, HttpAgent);
|
||||
Agent.prototype.createConnection = createConnection;
|
||||
|
||||
Agent.prototype.getName = function getName(options) {
|
||||
let name = HttpAgent.prototype.getName.call(this, options);
|
||||
let name = FunctionPrototypeCall(HttpAgent.prototype.getName, this, options);
|
||||
|
||||
name += ':';
|
||||
if (options.ca)
|
||||
@@ -269,21 +276,21 @@ Agent.prototype._cacheSession = function _cacheSession(key, session) {
|
||||
|
||||
// Put new entry
|
||||
if (this._sessionCache.list.length >= this.maxCachedSessions) {
|
||||
const oldKey = this._sessionCache.list.shift();
|
||||
const oldKey = ArrayPrototypeShift(this._sessionCache.list);
|
||||
debug('evicting %j', oldKey);
|
||||
delete this._sessionCache.map[oldKey];
|
||||
}
|
||||
|
||||
this._sessionCache.list.push(key);
|
||||
ArrayPrototypePush(this._sessionCache.list, key);
|
||||
this._sessionCache.map[key] = session;
|
||||
};
|
||||
|
||||
Agent.prototype._evictSession = function _evictSession(key) {
|
||||
const index = this._sessionCache.list.indexOf(key);
|
||||
const index = ArrayPrototypeIndexOf(this._sessionCache.list, key);
|
||||
if (index === -1)
|
||||
return;
|
||||
|
||||
this._sessionCache.list.splice(index, 1);
|
||||
ArrayPrototypeSplice(this._sessionCache.list, index, 1);
|
||||
delete this._sessionCache.map[key];
|
||||
};
|
||||
|
||||
@@ -294,7 +301,7 @@ function request(...args) {
|
||||
let options = {};
|
||||
|
||||
if (typeof args[0] === 'string') {
|
||||
const urlStr = args.shift();
|
||||
const urlStr = ArrayPrototypeShift(args);
|
||||
try {
|
||||
options = urlToOptions(new URL(urlStr));
|
||||
} catch (err) {
|
||||
@@ -313,17 +320,17 @@ function request(...args) {
|
||||
} else if (args[0] && args[0][searchParamsSymbol] &&
|
||||
args[0][searchParamsSymbol][searchParamsSymbol]) {
|
||||
// url.URL instance
|
||||
options = urlToOptions(args.shift());
|
||||
options = urlToOptions(ArrayPrototypeShift(args));
|
||||
}
|
||||
|
||||
if (args[0] && typeof args[0] !== 'function') {
|
||||
ObjectAssign(options, args.shift());
|
||||
ObjectAssign(options, ArrayPrototypeShift(args));
|
||||
}
|
||||
|
||||
options._defaultAgent = module.exports.globalAgent;
|
||||
args.unshift(options);
|
||||
ArrayPrototypeUnshift(args, options);
|
||||
|
||||
return new ClientRequest(...args);
|
||||
return ReflectConstruct(ClientRequest, args);
|
||||
}
|
||||
|
||||
function get(input, options, cb) {
|
||||
|
||||
Reference in New Issue
Block a user