var proxy   = require('./')
var mpath   = require('path')

var seaport = require('seaport')
var Haproxy = require('haproxy')

var ports   = seaport.connect('127.0.0.1', 9090)
var haproxy = new Haproxy(
  '/var/run/haproxy.socket'
, { config : mpath.resolve('haproxy.cfg')
  , prefix : 'sudo'
  }
)

var service = proxy.createService(
  ports
, haproxy
, { template : mpath.resolve('haproxy.cfg.ejs')
  }
)

service.on('error', function (err) {
  console.error('[error]', err)
  process.emit('SIGINT')
})

service.on('haproxy:reload', function () {
  console.error('[reload]')
})

process.on('SIGINT', function () {
  haproxy.stop(function () {
    process.exit()
  })
})

@@ -20,16 +20,17 @@
 re('./')
+;
 %0Avar mpa
@@ -51,16 +51,17 @@
 ('path')
+;
 %0A%0Avar se
@@ -86,16 +86,17 @@
 eaport')
+;
 %0Avar Hap
@@ -120,16 +120,17 @@
 aproxy')
+;
 %0A%0Avar po
@@ -171,16 +171,17 @@
 ', 9090)
+;
 %0Avar hap
@@ -199,19 +199,16 @@
 Haproxy(
-%0A  
 '/var/ru
@@ -228,20 +228,19 @@
 ket'
-%0A
 , %7B
- 
+%0A%09
 config
- 
 : mp
@@ -269,20 +269,17 @@
 fg')
-%0A  , 
+,%0A%09
 prefix
- 
 : 's
@@ -283,21 +283,19 @@
  'sudo'%0A
-  %7D%0A)
+%7D);
 %0A%0Avar se
@@ -326,17 +326,13 @@
 ice(
-%0A  
 ports
-%0A
 , ha
@@ -340,21 +340,21 @@
 roxy
-%0A
 , %7B
- 
+%0A%09
 template
  : m
@@ -349,17 +349,16 @@
 template
- 
 : mpath.
@@ -388,13 +388,11 @@
 s')%0A
-  %7D%0A)
+%7D);
 %0A%0Ase
@@ -421,17 +421,16 @@
 tion
- 
 (err) %7B%0A
   co
@@ -421,26 +421,25 @@
 tion(err) %7B%0A
-  
+%09
 console.erro
@@ -455,19 +455,19 @@
 %5D', err)
-%0A  
+;%0A%09
 process.
@@ -480,19 +480,21 @@
 SIGINT')
+;
 %0A%7D)
+;
 %0A%0Aservic
@@ -524,24 +524,22 @@
 function
- 
 () %7B%0A
-  
+%09
 console.
@@ -555,19 +555,21 @@
 eload%5D')
+;
 %0A%7D)
+;
 %0A%0Aproces
@@ -591,24 +591,22 @@
 function
- 
 () %7B%0A
-  
+%09
 haproxy.
@@ -622,18 +622,15 @@
 tion
- 
 () %7B%0A
-    
+%09%09
 proc
@@ -643,13 +643,15 @@
 it()
-%0A  
+;%0A%09
 %7D)
+;
 %0A%7D)
+;
 %0A

Make example.js pass js checks