Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

primacron

Package Overview
Dependencies
Maintainers
6
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

primacron

Primacron is a high level abstraction build on top of Primus

latest
Source
npmnpm
Version
2.0.0
Version published
Weekly downloads
3
-50%
Maintainers
6
Weekly downloads
 
Created
Source

Primacron

Version npmBuild StatusDependenciesCoverage StatusIRC channel

Primacron is an ancient scientist who's responsible for building Unicron, the evil twin of Primus.

Primacron is a high level and highly opinionated interface for Primus which provides multi-server logic through redis and plain HTTP. It introduces the concept of forced validation for every single message it receives. This gives you the guarantee that you can "safely" processes these messages once they are emitted.

This high level interface is composed out of various Primus plugins that are maintained by the Primus project:

  • metroplex Which is the spark registry.
  • omega-supreme Adds HTTP based broadcasting/messaging between servers.
  • fortess-maximus Force validation for every single incoming message.
  • primus-emit Emitting for client and server.
  • mirage Persistent session ids.

The module depends on redis which is used to store a socket address -> server IP dictionary shared among the servers. Please use http://redis.io to get detailed installation instructions.

Installation

The module is distributed through npm and can be installed using.

npm install --save primacron

API

The module exports a constructor function which takes two optional arguments.

Primacron([server][, options])

Returns a new Primacron instance.

Arguments

  • server - Optional - An http/s server instance, automatically created if not provided.
  • options - Optional - An object with the configuration options. You can use any option supported by Primus and the above mentioned plugins.

Example

const Primacron = require('primacron');

const primacron = new Primacron({ port: 8080 });

primacron.validate('data', (message, next) => {
  if (typeof message !== 'number') return next(new Error('Validation failed'));

  next();
});

primacron.on('data', (spark, message) => console.log(message));
primacrom.on('invalid', (err) => console.error(err.stack));

primacron.on('listening', () => {
  const bound = primacron.address();
  console.log('server listening on %s:%d', bound.address, bound.port);
});

License

MIT

Keywords

Primacron

FAQs

Package last updated on 27 Jul 2016

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