Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 3.147.73.117
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/packument.js
'use strict'

const BB = require('bluebird')

const fetch = require('npm-registry-fetch')
const LRU = require('lru-cache')
const optCheck = require('../../util/opt-check')

// Corgis are cute. 🐕🐶
const CORGI_DOC = 'application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*'
const JSON_DOC = 'application/json'

module.exports = packument
function packument (spec, opts) {
  opts = optCheck(opts)

  const registry = fetch.pickRegistry(spec, opts)
  const uri = registry.replace(/\/?$/, '/') + spec.escapedName

  return fetchPackument(uri, registry, spec, opts)
}

const MEMO = new LRU({
  length: m => m._contentLength,
  max: 200 * 1024 * 1024, // 200MB
  maxAge: 30 * 1000 // 30s
})

module.exports.clearMemoized = clearMemoized
function clearMemoized () {
  MEMO.reset()
}

function fetchPackument (uri, registry, spec, opts) {
  const mem = pickMem(opts)
  const accept = opts.fullMetadata ? JSON_DOC : CORGI_DOC
  const memoKey = `${uri}~(${accept})`
  if (mem && !opts.preferOnline && mem.has(memoKey)) {
    return BB.resolve(mem.get(memoKey))
  }

  return fetch(uri, opts.concat({
    headers: {
      'pacote-req-type': 'packument',
      'pacote-pkg-id': `registry:${spec.name}`,
      accept
    },
    spec
  }, opts, {
    // Force integrity to null: we never check integrity hashes for manifests
    integrity: null
  })).then(res => res.json().then(packument => {
    packument._cached = res.headers.has('x-local-cache')
    packument._contentLength = +res.headers.get('content-length')
    // NOTE - we need to call pickMem again because proxy
    //        objects get reused!
    const mem = pickMem(opts)
    if (mem) {
      mem.set(memoKey, packument)
    }
    return packument
  })).catch(err => {
    if (err.code === 'E404' && !opts.fullMetadata) {
      return fetchPackument(uri, registry, spec, opts.concat({
        fullMetadata: true
      }))
    } else {
      throw err
    }
  })
}

class ObjProxy {
  get (key) { return this.obj[key] }
  set (key, val) { this.obj[key] = val }
}

// This object is used synchronously and immediately, so
// we can safely reuse it instead of consing up new ones
const PROX = new ObjProxy()
function pickMem (opts) {
  if (!opts || !opts.memoize) {
    return MEMO
  } else if (opts.memoize.get && opts.memoize.set) {
    return opts.memoize
  } else if (typeof opts.memoize === 'object') {
    PROX.obj = opts.memoize
    return PROX
  } else {
    return null
  }
}

Youez - 2016 - github.com/yon3zu
LinuXploit