This repository was archived by the owner on Jan 17, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathapp.js
executable file
·51 lines (48 loc) · 1.68 KB
/
app.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
var express = require('express')
, lsq = require('lsq')
, http = require('http')
, logger = require('morgan')
, bodyParser = require('body-parser')
, debug = require('debug')
, methodOverride = require('method-override')
, log = debug('app:log')
, error = debug('app:error')
, app = express()
, tools = require('./tools')
, mainRoutes = require('./routes')
, multer = require('multer')
, lessMiddleware = require('less-middleware')
, path = require('path')
, everyauth = require('everyauth')
, session = require('express-session');
everyauth.github
.appId(process.env.GITHUBID)
.appSecret(process.env.GITHUBTOKEN)
.findOrCreateUser( function (session, accessToken, accessTokenExtra, githubUserMetadata) {
return {"_id":0,session:session,accessToken:accessToken,accessTokenExtra:accessTokenExtra, githubUserMetadata:githubUserMetadata}
})
.scope("user,user:email,repo")
.redirectPath('/#repo')
app
.set('port', process.env.PORT || 3000)
.set('trust proxy', 1)
.set('view engine', 'jade')
.use(session({ secret: 'keyboard cat'}))
.use(everyauth.middleware())
.use(bodyParser.json())
.use(bodyParser.urlencoded({ extended: true }))
.use(methodOverride('_method'))
.use(tools.getReportingInfo(tools.report))
.use('/api/v1/',require('./api/v1'))
.use(multer())
.use(express.static('public'))
.use(lessMiddleware(path.join(__dirname + '/public')))
.get('/',mainRoutes.homePage)
.get('/test', tools.test)
.get('/session', function(req,res){
res.send(req.session)
})
.get('/health',tools.healthCheck)
.listen(app.get('port'),function(){
console.log("Express server listening on port " + app.get('port'))
})