41 lines
945 B
JavaScript
41 lines
945 B
JavaScript
const http2 = require('http2');
|
|
const requireDir = require('require-dir');
|
|
const plugins = require('./plugins');
|
|
const routes = requireDir('./routes');
|
|
const Hapi = require('hapi');
|
|
const path = require('path');
|
|
const fs = require('fs');
|
|
|
|
const server = new Hapi.Server();
|
|
|
|
server.connection({
|
|
listener: http2.createServer({
|
|
key: fs.readFileSync(path.join(__dirname, '../key.pem')),
|
|
cert: fs.readFileSync(path.join(__dirname, '../cert.pem')),
|
|
log: require('bunyan').createLogger({
|
|
name: 'server',
|
|
stream: process.stdout,
|
|
serializers: require('http2/lib/http').serializers
|
|
})
|
|
}),
|
|
host: 'localhost',
|
|
port: 8000,
|
|
tls: true
|
|
});
|
|
|
|
Object.keys(routes).forEach((name) => {
|
|
routes[name](server);
|
|
});
|
|
|
|
server.register(plugins, (err) => {
|
|
if (err) {
|
|
throw err;
|
|
}
|
|
|
|
server.start((err) => {
|
|
server.connections.forEach((conn) => {
|
|
console.log(`started at: ${conn.info.uri}`);
|
|
});
|
|
});
|
|
});
|