UNPKG

1.06 kBtext/coffeescriptView Raw
1cors = require 'cors'
2morgan = require 'morgan'
3CanaryMessageController = require './src/canary-message-controller'
4express = require 'express'
5bodyParser = require 'body-parser'
6errorHandler = require 'errorhandler'
7meshbluHealthcheck = require 'express-meshblu-healthcheck'
8debug = (require 'debug')('octoblu-flow-canary:express')
9
10cage = new CanaryMessageController
11PORT = process.env.PORT ? 80
12
13app = express()
14app.use meshbluHealthcheck()
15app.use cors()
16app.use morgan 'dev'
17app.use errorHandler()
18app.use bodyParser.urlencoded limit: '50mb', extended : true
19app.use bodyParser.json limit : '50mb'
20
21app.post '/message', cage.postMessage
22app.get '/passing', cage.getPassing
23app.get '/stats', cage.getStats
24
25startServer = (callback=->) =>
26 server = app.listen PORT, ->
27 host = server.address().address
28 port = server.address().port
29 debug "Server running on #{host}:#{port}"
30 callback()
31
32cage.canary.startAllFlows =>
33 startServer =>
34 cage.canary.postTriggers()
35
36process.on 'SIGTERM', =>
37 console.log 'SIGTERM caught, exiting'
38 process.exit 0