Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/dceprojects.corals.io/node_modules/http-proxy-middleware/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //home/corals/dceprojects.corals.io/node_modules/http-proxy-middleware/lib/router.js
var _ = require('lodash')
var logger = require('./logger.js').getInstance()

module.exports = {
  getTarget: getTarget
}

function getTarget(req, config) {
  var newTarget
  var router = config.router

  if (_.isPlainObject(router)) {
    newTarget = getTargetFromProxyTable(req, router)
  } else if (_.isFunction(router)) {
    newTarget = router(req)
  }

  return newTarget
}

function getTargetFromProxyTable(req, table) {
  var result
  var host = req.headers.host
  var path = req.url

  var hostAndPath = host + path

  _.forIn(table, function(value, key) {
    if (containsPath(key)) {
      if (hostAndPath.indexOf(key) > -1) {
        // match 'localhost:3000/api'
        result = table[key]
        logger.debug('[HPM] Router table match: "%s"', key)
        return false
      }
    } else {
      if (key === host) {
        // match 'localhost:3000'
        result = table[key]
        logger.debug('[HPM] Router table match: "%s"', host)
        return false
      }
    }
  })

  return result
}

function containsPath(v) {
  return v.indexOf('/') > -1
}

Spamworldpro Mini