UNPKG

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