Uname:Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64

Base Dir : /var/www/html

User : gavin


403WebShell
403Webshell
Server IP : 68.183.124.220  /  Your IP : 216.73.217.137
Web Server : Apache/2.4.18 (Ubuntu)
System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
User : gavin ( 1000)
PHP Version : 7.0.33-0ubuntu0.16.04.16
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/gavin/workspace/happymandarin/node_modules/rcloader/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/gavin/workspace/happymandarin/node_modules/rcloader/index.js
module.exports = RcLoader;

var path = require('path');
var assign = require('lodash.assign');
var isObject = require('lodash.isobject');
var merge = require('lodash.merge');
var RcFinder = require('rcfinder');

function RcLoader(name, userConfig, finderConfig) {
  if (!(this instanceof RcLoader))
    return new RcLoader(name, userConfig, finderConfig);

  if (!name)
    throw new TypeError('Specify a name for your config files');

  finderConfig = isObject(finderConfig) ? finderConfig : {};

  var config = {};
  var configPending = false;
  var lookup = userConfig && userConfig.lookup !== void 0 ? !!userConfig.lookup : true;
  var finder = new RcFinder(name, finderConfig);

  if (typeof userConfig === 'string') {
    lookup = false;
    config.defaultFile = userConfig;
  } else {
    assign(config, userConfig || {});
  }

  var defaultFileGiven = (config.defaultFile !== undefined);
  if (defaultFileGiven) {
    if (finder.canLoadSync) {
      assign(config, finder.get(config.defaultFile));
    } else {
      // push callbacks here that need to wait for config to load
      configPending = [];
      // force the async loader
      finder.get(config.defaultFile, function (err, defaults) {
        if (err) throw err;
        assign(config, defaults);

        // clear the configPending queue
        var cbs = configPending;
        configPending = null;
        cbs.forEach(function (cb) { cb(); });
      });
    }
  }

  // these shouldn't be a part of the final config
  delete config.defaultFile;
  delete config.lookup;

  // get the config for a file
  this.for = function (filename, cb) {
    var sync = typeof cb !== 'function';

    function respond(err, configFile) {
      if (err && !sync) return cb(err);

      // the config has not loaded yet, delay our response
      // until it is
      if (!sync && configPending) {
        return configPending.push(function () {
          respond(err, configFile);
        });
      }
      configFile = configFile || {};
      if (defaultFileGiven) {
        configFile = merge(config, configFile);
      } else {
        configFile = merge(configFile, config);
      }
      if (sync) return configFile;
      cb(void 0, configFile);
    }

    if (!lookup) {
      if (sync) return respond();
      return process.nextTick(respond);
    }

    if (sync) return respond(null, finder.find(path.dirname(filename)));
    finder.find(path.dirname(filename), respond);
  };

}

Youez - 2016 - github.com/yon3zu
LinuXploit