PHP 8.2.30
Preview: initialize.js Size: 2.53 KB
/opt/alt/alt-nodejs9/root/lib/node_modules/npm/node_modules/npm-registry-client/lib/initialize.js

var crypto = require('crypto')
var HttpAgent = require('http').Agent
var HttpsAgent = require('https').Agent

var pkg = require('../package.json')

module.exports = initialize

function initialize (uri, method, accept, headers) {
  if (!this.config.sessionToken) {
    this.config.sessionToken = crypto.randomBytes(8).toString('hex')
    this.log.verbose('request id', this.config.sessionToken)
  }
  if (this.config.isFromCI == null) {
    this.config.isFromCI = Boolean(
      process.env['CI'] === 'true' || process.env['TDDIUM'] ||
      process.env['JENKINS_URL'] || process.env['bamboo.buildKey'] ||
      process.env['GO_PIPELINE_NAME'])
  }

  var opts = {
    url: uri,
    method: method,
    headers: headers,
    localAddress: this.config.proxy.localAddress,
    strictSSL: this.config.ssl.strict,
    cert: this.config.ssl.certificate,
    key: this.config.ssl.key,
    ca: this.config.ssl.ca,
    agent: getAgent.call(this, uri.protocol)
  }

  // allow explicit disabling of proxy in environment via CLI
  //
  // how false gets here is the CLI's problem (it's gross)
  if (this.config.proxy.http === false) {
    opts.proxy = null
  } else {
    // request will not pay attention to the NOPROXY environment variable if a
    // config value named proxy is passed in, even if it's set to null.
    var proxy
    if (uri.protocol === 'https:') {
      proxy = this.config.proxy.https
    } else {
      proxy = this.config.proxy.http
    }
    if (typeof proxy === 'string') opts.proxy = proxy
  }

  headers.version = this.version || pkg.version
  headers.accept = accept

  if (this.refer) headers.referer = this.refer

  headers['npm-session'] = this.config.sessionToken
  headers['npm-in-ci'] = String(this.config.isFromCI)
  headers['user-agent'] = this.config.userAgent
  if (this.config.scope) {
    headers['npm-scope'] = this.config.scope
  }

  return opts
}

function getAgent (protocol) {
  if (protocol === 'https:') {
    if (!this.httpsAgent) {
      this.httpsAgent = new HttpsAgent({
        keepAlive: true,
        maxSockets: this.config.maxSockets,
        localAddress: this.config.proxy.localAddress,
        rejectUnauthorized: this.config.ssl.strict,
        ca: this.config.ssl.ca,
        cert: this.config.ssl.certificate,
        key: this.config.ssl.key
      })
    }

    return this.httpsAgent
  } else {
    if (!this.httpAgent) {
      this.httpAgent = new HttpAgent({
        keepAlive: true,
        maxSockets: this.config.maxSockets,
        localAddress: this.config.proxy.localAddress
      })
    }

    return this.httpAgent
  }
}

Directory Contents

Dirs: 1 × Files: 20

Name Size Perms Modified Actions
dist-tags DIR
- drwxr-xr-x 2024-03-03 22:42:04
Edit Download
4.40 KB lrw-r--r-- 2021-09-28 11:28:11
Edit Download
3.81 KB lrw-r--r-- 2021-09-28 11:28:11
Edit Download
487 B lrw-r--r-- 2021-09-28 11:28:11
Edit Download
815 B lrw-r--r-- 2021-09-28 11:28:11
Edit Download
1.27 KB lrw-r--r-- 2021-09-28 11:28:11
Edit Download
2.16 KB lrw-r--r-- 2021-09-28 11:28:11
Edit Download
651 B lrw-r--r-- 2021-09-28 11:28:11
Edit Download
2.53 KB lrw-r--r-- 2021-09-28 11:28:11
Edit Download
722 B lrw-r--r-- 2021-09-28 11:28:11
Edit Download
1.75 KB lrw-r--r-- 2021-09-28 11:28:11
Edit Download
661 B lrw-r--r-- 2021-09-28 11:28:11
Edit Download
5.58 KB lrw-r--r-- 2021-09-28 11:28:11
Edit Download
9.42 KB lrw-r--r-- 2021-09-28 11:28:11
Edit Download
533 B lrw-r--r-- 2021-09-28 11:28:11
Edit Download
1.37 KB lrw-r--r-- 2021-09-28 11:28:11
Edit Download
651 B lrw-r--r-- 2021-09-28 11:28:11
Edit Download
690 B lrw-r--r-- 2021-09-28 11:28:11
Edit Download
2.89 KB lrw-r--r-- 2021-09-28 11:28:11
Edit Download
3.70 KB lrw-r--r-- 2021-09-28 11:28:11
Edit Download
665 B lrw-r--r-- 2021-09-28 11:28:11
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).