This repository was archived by the owner on Apr 6, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
41 lines (35 loc) · 1.4 KB
/
app.js
File metadata and controls
41 lines (35 loc) · 1.4 KB
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
var app = require('koa')();
var raven = require('raven');
var sentry = new raven.Client('https://b03d70e23cb849e1aa7c90f17fb9ace0:[email protected]/101580');
var logger = require('koa-logger');
var bodyparser = require('koa-bodyparser');
var errorhandler = require('koa-errorhandler');
var compress = require('koa-compress')
var scheme = require('koa-scheme');
var checkToken = require('./middlewares/checkToken');
var internalPermissionCheck = require('./middlewares/internalPermissionCheck');
var router = require('koa-frouter');
var config = require('config-lite');
var core = require('./lib/core');
var jwt = require('koa-jwt');
var chatSocket = require('./lib/chat/chat_socket.js');
var publicKey = require('fs').readFileSync('platform.rsa.pub');
app.use(checkToken());
app.on('error', function(err, context) {
sentry.captureException(err, context);
});
app.use(jwt({ secret: publicKey, algorithm: 'RS256' }).unless({ path: [/^\/socket\.io/, /^\/public/] }));
app.use(internalPermissionCheck());
app.use(errorhandler());
app.use(bodyparser());
process.env.NODE_ENV !== 'production' && app.use(logger());
app.use(scheme(config.schemeConf));
app.use(compress())
app.use(router(app, config.routerConf));
app.use(function *(){
this.body = 'Resource not found';
});
const server = app.listen(config.port, function () {
console.log('Server listening on: ', config.port);
});
chatSocket.start(server);