-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstart_plugin.js
65 lines (53 loc) · 1.3 KB
/
start_plugin.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
'use strict'
var Hapi = require('hapi')
var Bell = require('bell')
var Chairo = require('chairo')
var Cookie = require('hapi-auth-cookie')
var Concorda = require('concorda')
var DotEnv = require('dotenv')
// load env config file
DotEnv.config({path: './config/production.env'})
// Options for our hapi plugins.
var opts = {
server: {
port: process.env.PORT || 3050
},
chairo: {
timeout: 2000,
secure: true,
log: {level: 'INFO'}
}
}
// Log and end the process on err.
function endIfErr (err) {
if (err) {
console.error(err)
process.exit(1)
}
}
// Create our server.
var server = new Hapi.Server({ debug: { request: ['error'] } })
server.connection({port: opts.server.port})
// Declare our Hapi plugin list.
var plugins = [
{register: Bell},
{register: Cookie},
{register: Chairo, options: opts.chairo}
]
// Register our plugins.
server.register(plugins, function (err) {
endIfErr(err)
server.seneca
.use(Concorda, {
appkey: 'concorda',
auth: {
restrict: '/api',
password: process.env.COOKIE_PASSWORD || '12323433234ffdfrdssadfhsamqwr098yrd09r8mhmf9q84mfxkwedorgno438drn8473nd,mnjbrk'
}
})
// Kick off the server.
server.start(function (err) {
endIfErr(err)
server.seneca.log.info('Listening at: ', server.info.port)
})
})