stopper.js 521 B

12345678910111213141516171819
  1. /**
  2. * Stopper middleware is responsible for communicating with `karma stop`.
  3. */
  4. var log = require('../logger').create('middleware:stopper')
  5. var createStopperMiddleware = function (urlRoot) {
  6. return function (request, response, next) {
  7. if (request.url !== urlRoot + 'stop') return next()
  8. response.writeHead(200)
  9. log.info('Stopping server')
  10. response.end('OK')
  11. process.kill(process.pid, 'SIGINT')
  12. }
  13. }
  14. createStopperMiddleware.$inject = ['config.urlRoot']
  15. exports.create = createStopperMiddleware