🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis →
Socket
Book a DemoInstallSign in
Socket

dean

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dean

Proxy routing table with cluster support

latest
Source
npmnpm
Version
0.1.2
Version published
Maintainers
1
Created
Source

dean

Build Status

Author

Evan Lucas

License

MIT

Installation

$ npm install -g dean

Tests

$ npm test

Coverage

$ npm run cover

API

Dean

Constructor

opts can contain the following:

KeyDescription
keyThe session id (connect.sid) can also pass session-key
bindAddressThe ip to bind (0.0.0.0)
portThe listening port (8040)
httpshttps options (key, cert)
timeoutProxy timeout (0)
max-socketsMax number of sockets for the http agent
redisObject containing redis options (port, host, socket, db)
tracejstrace instance

redis note: the redis key can also contain a redisClient. This should be an instance of redis.createClient. redis.socket will take priority over redis.host and redis.port.

Params
NameType(s)Description
optsObjectThe options

Dean.listen()

Listen for requests

Examples:

// just a callback
dean.listen(function() {
  console.log('listening on port', dean.port)
})

// with a port
dean.listen(8044, function() {
  console.log('listening on port', 8044)
})

// with a port and host
dean.listen(8044, '127.0.0.1', function() {
  console.log('listening at', '127.0.0.1:8044')
})
Params
NameType(s)Description
portNumberThe port on which we should listen (optional)
hostStringThe bindAddress (optional)
cbFunctionfunction()

Dean.close()

Closes the server and stops accepting requests

Params
NameType(s)Description
cbFunctionfunction()

Dean.addDrone()

Adds a new drone to the rotation

Example

// all of the following will be accepted
// '0.0.0.0:4043'
dean.addDrone('0.0.0.0:4043')
dean.addDrone('4043')
dean.addDrone(4043)
dean.addDrone({
  port: 4043
, host: '0.0.0.0'
})
Params
NameType(s)Description
droneString, Object, NumberThe drone to add

Dean.removeDrone()

Removes a drone from the rotation

Example

dean.removeDrone('0.0.0.0:4043')
Params
NameType(s)Description
droneStringThe drone to remove

Instrumentation

Instrumentation is optional via jstrace.

The following probes are exposed:

  • dean:proxy:web:start
    • target will be the request's target
    • method will be the request method
    • url will be the request url
  • dean:proxy:web:end
    • target will be the request's target
    • method will be the request method
    • url will be the request url
    • duration will be the duration of the request in ms
  • dean:drone:add
    • drone will be the added drone
  • dean:drone:remove
    • drone will be the removed drone

An example script has been provided at ./scripts/trace.js. To test it out:

$ jstrace ./scripts/trace.js

# Then in another terminal
$ npm test

Keywords

proxy

FAQs

Package last updated on 16 Jun 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts