UNPKG

817 BJavaScriptView Raw
1// @flow
2
3import express from 'express'
4
5import { createConfig, validateConfig } from './config'
6import { createContext } from './context'
7import log from './log'
8import { createRouter } from './router'
9import type { Config, Handlers } from './types'
10
11export const createServer = (config: Config, handlers: Handlers) => {
12 const server = express()
13 server.set('x-powered-by', 'mainframe-bot-sdk')
14
15 const context = createContext(config, handlers)
16 const router = createRouter(context, handlers)
17 server.use(router)
18
19 return server
20}
21
22export const startServer = (cfg: Object, handlers: Handlers) => {
23 const config = createConfig(cfg)
24 validateConfig(config)
25
26 const server = createServer(config, handlers)
27 server.listen(config.server_port, () => {
28 log(`listening on port ${config.server_port}`)
29 })
30}