UNPKG

1 kBJavaScriptView Raw
1var http = require('http')
2
3var cfg = require('./config')
4var logger = require('./logger')
5var helper = require('./helper')
6
7exports.stop = function (config, done) {
8 config = config || {}
9 logger.setupFromConfig(config)
10 done = helper.isFunction(done) ? done : process.exit
11 var log = logger.create('stopper')
12 config = cfg.parseConfig(config.configFile, config)
13
14 var options = {
15 hostname: config.hostname,
16 path: config.urlRoot + 'stop',
17 port: config.port,
18 method: 'GET'
19 }
20
21 var request = http.request(options)
22
23 request.on('response', function (response) {
24 if (response.statusCode !== 200) {
25 log.error('Server returned status code: ' + response.statusCode)
26 done(1)
27 return
28 }
29
30 log.info('Server stopped.')
31 done(0)
32 })
33
34 request.on('error', function (e) {
35 if (e.code === 'ECONNREFUSED') {
36 log.error('There is no server listening on port %d', options.port)
37 done(1, e.code)
38 } else {
39 throw e
40 }
41 })
42 request.end()
43}