protocolly

Light weight (lazy load) Http/s, Connect, Express or SPDY

protocolly

(lazy load) Single method to create http servers, allowing you to choose between Http, Https, SPDY, Connect, Express or a mix of them.

with node:

$ npm install protocolly

Create a standard http server.

var protocolly = require('protocolly');
 
var server = protocolly('http');
 
server.listen(80); 

Create a secure https server.

var server = protocolly('https', {/* secure options */});
 
server.listen(443);

Create a secure SPDY server.

var server = protocolly('spdy', {/* secure options */});
 
server.listen(443);

Create an express server.

var server = protocolly('express');
 
server.get('/', function(reqres){
  res.end('Hello world');
});
 
server.listen(80);

Create a secure express server.

var server = protocolly('express', 'https', {/* secure options */});

Create a secure SPDY express server.

var server = protocolly('express', 'spdy', {/* secure options */});

Standard

var protocolly = require('protocolly')
  , server
  ;
 
// HTTP 
server = protocolly();
// or 
server = protocolly('http');
server = protocolly('connect'); // CONNECT 
server = protocolly('express'); // EXPRESS 
 
// and finally 
server.listen();

or secure

var protocolly = require('protocolly')
  , server
  , fs = require('fs')
  ;
 
// Require keys if creating a secure server. 
var secure = {
  key: fs.readFileSync(path.join(__dirname, 'keys', 'proty.key')),
  cert: fs.readFileSync(path.join(__dirname, 'keys', 'proty.crt')),
  ca: fs.readFileSync(path.join(__dirname, 'keys', 'proty.pem'))
});
 
// HTTPS 
server = protocolly('https', secure);
server = protocolly('connect', 'https', secure); // CONNECT 
server = protocolly('express', 'https', secure); // EXPRESS 
 
// SPDY 
server = protocolly('spdy', secure);
server = protocolly('connect', 'spdy', secure); //  CONNECT 
server = protocolly('express', 'spdy', secure); // EXPRESS 
 
server.listen();

Set up default parameters

var protocolly = require('protocolly')
  , server
  ;
 
protocolly.defaults.provider = 'express'; // default `http` 
protocolly.defaults.protocol = 'spdy'; // default `http` 
 
server = protocolly({/* secure */}); // SPDY EXPRESS 
 
server.listen();
var protocolly = require('protocolly')
  , server
  ;
 
server = protocolly({
  provider: 'express',
  protocol: 'spdy',
  key: '..',
  cert: '..',
  ca: '..'
});
 
server.listen();

protocolly.createServer() works just as like protocolly().

var protocolly = require('protocolly')
  , server
  ;
 
server = protocolly.createServer('express');
 
server.get('/', function(reqres){
  res.end('Hello world');
});
 
server.listen();

Protocolly exposes all providers (lazy load) if needed.

  • protocolly.http
  • protocolly.https
  • protocolly.connect
  • protocolly.express
  • protocolly.spdy

MIT