aboutsummaryrefslogtreecommitdiff
path: root/diller.js
diff options
context:
space:
mode:
Diffstat (limited to 'diller.js')
-rw-r--r--diller.js67
1 files changed, 6 insertions, 61 deletions
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();