From 0266bdd60cb9cccf20a5ded3eba72ea833bee72d Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Tue, 20 Oct 2015 23:18:16 +0200 Subject: o Adding a webapp. o Using di.js as dependency injection framework. --- diller.js | 67 ++++++--------------------------------------------------------- 1 file changed, 6 insertions(+), 61 deletions(-) (limited to 'diller.js') diff --git a/diller.js b/diller.js index cfaa6a7..db6fc2b 100644 --- a/diller.js +++ b/diller.js @@ -1,63 +1,8 @@ -var mqtt = require('mqtt'); -var fs = require('fs'); -var bunyan = require('bunyan'); +var di = require('di'); +var injector = new di.Injector(); -var config = require('./src/config'); +var config = injector.get(require('./src/DillerConfig')); +config.configureLogging('mqtt'); -function configureLogging(config) { - var cfg = { - name: 'main' - }; - - if (config.isProd()) { - cfg.streams = [ - { - level: 'warn', - stream: process.stdout - }, - { - level: 'debug', - path: 'log/diller.log' - } - ]; - - var stat; - try { - stat = fs.lstatSync('log'); - } catch (e) { - // Assume this to to be ENOENT - fs.mkdirSync('log'); - } - if (stat && !stat.isDirectory()) { - throw 'Not a directory: log'; - } - } - - return bunyan.createLogger(cfg); -} - -var log = configureLogging(config); - -var Diller = require('./src/Diller').Diller; - -var diller = new Diller(config, log); - -log.info('Connecting to ' + config.mqttUrl); -var mqttClient = mqtt.connect(config.mqttUrl); - -mqttClient.on('offline', function () { - log.info('offline'); -}); - -mqttClient.on('error', function (error) { - log.info('error', {error: error}); -}); - -mqttClient.on('connect', function () { - log.info('Connected'); - mqttClient.subscribe('/diller/#'); -}); - -mqttClient.on('message', function (topic, message, payload) { - diller.onMessage(topic, message, payload); -}); +var dillerMqtt = injector.get(require('./src/mqtt/DillerMqtt')); +dillerMqtt.run(); -- cgit v1.2.3