'use strict';

var fs = require('fs')
  , path = require('path')
  , Primus = require('primus')
  , EventEmitter = require('events').EventEmitter
  , Socket = Primus.createSocket({ transformer: 'engine.io' });

var server = require('http').createServer(function (req, res) {
  res.setHeader('Content-Type', 'text/html');

  if ('/' === req.url) {
    return require('fs').createReadStream(path.join(__dirname, 'index.html')).pipe(res);
  }

  res.setHeader('Content-Type', 'text/javascript');
  require('fs').createReadStream(path.join(__dirname, 'primus.js')).pipe(res);
}).listen(8080);

//
// We can attach to server, but EventEmitter works fine because our local server
// doesn't need any real-time magic.
//
var primus = new Primus(new EventEmitter(), {
  transformer: 'engine.io'
});

//
// Save the compiled server as primus.js
//
primus.save(path.join(__dirname ,'primus.js'));