Durga with primus as transporter on a Hapi server

const Hapi = require('hapi');
const Durga = require('durga');
const Primus = require('primus');
const DurgaPrimusTransport = require('durga-transporter-primus/server');

// Init Webserver
let server = new Hapi.Server();

// Configure connection
server.connection({ port: 4001 });

// Init primus instance
let primus = new Primus(server.connections[0].listener, {
  pathname: '/ws'
});

// provide primus.js client library as asset-route
server.route({
  method: 'GET',
  path: '/assets/primus.js',
  handler: (req, reply) => {
    reply(primus.library())
      .header('Content-Type', 'application/javascript');
  }
});

// init durga with primus-transporter
const durga = new Durga.Server({
  transporter: new DurgaPrimusTransport(primus)
});


durga.event('hello-world', ({ payload }) => {
  console.log(payload);
});

// start server (listening)
server.start();

Durga with primus as transporter in the browser

/* Load /assets/primus.js before running the following: */


import Durga from 'durga/lib/client';
import DurgaTransporterPrimus from 'durga-transporter-primus/client';

let primus = Primus.connect('/ws', {});

const durga = new Durga({
  transporter: new DurgaTransporterPrimus(primus)
});

/* EMIT hello-world event every second */
setInterval(() => {

  durga.emit('hello-world', { now: Date.now() });

}, 1000);

results matching ""

    No results matching ""