1
0
mirror of https://github.com/yldio/copilot.git synced 2024-09-21 13:53:51 +03:00
copilot/frontend/server/index.js

61 lines
1.4 KiB
JavaScript
Raw Normal View History

2016-12-30 23:46:33 +02:00
'use strict';
2016-10-20 15:36:24 +03:00
2016-12-30 23:46:33 +02:00
const fs = require('fs');
const hapi = require('hapi');
const inert = require('inert');
const path = require('path');
const template = require('lodash.template');
const understood = require('understood');
2016-10-20 15:36:24 +03:00
2016-10-20 22:42:39 +03:00
const index = path.join(__dirname, './index.html');
const html = template(fs.readFileSync(index, 'utf-8'));
2016-12-30 23:46:33 +02:00
const server = new hapi.Server({
connections: {
routes: {
files: {
relativeTo: path.join(__dirname, '../static')
}
}
}
2016-10-20 15:36:24 +03:00
});
2016-12-30 23:46:33 +02:00
server.connection({ port: process.env.PORT || 8000 });
server.register([
inert,
{ register: understood, options: { default: 'en-us', localesDir: path.join(__dirname, '../static/locales') } }],
(err) => {
if (err) {
console.error(err);
process.exit(1);
}
server.route({
method: 'GET',
path: '/static/{param*}',
handler: {
directory: {
path: '.',
redirectToSlash: true,
index: false
}
}
});
server.route({ method: '*', path: '/{param*}', handler: defaultHandler });
server.start((err) => {
if (err) {
console.error(err);
process.exit(1);
}
console.log(`Server running at: http://localhost:${server.info.port}`);
});
2016-10-20 15:36:24 +03:00
});
2016-12-30 23:46:33 +02:00
function defaultHandler (request, reply) {
const locales = (request.locale || '').toLowerCase().split(/\-/);
reply(html({ locale: locales[1], lang: locales[0] }));
}