Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. import Handlebars from 'express-handlebars'
  2. import Express from 'express'
  3. import Routes from './routes'
  4. import Path from 'path'
  5. import passport from 'passport'
  6. import session from 'express-session'
  7. import expressValidator from 'express-validator'
  8. import flash from 'connect-flash'
  9. import cookieParser from 'cookie-parser'
  10.  
  11. class HTTP {
  12.  
  13. static server = null;
  14.  
  15. static init = async () => {
  16. await HTTP.prepare()
  17. await HTTP.route()
  18. await HTTP.listen()
  19. }
  20.  
  21. static prepare = () => {
  22. HTTP.server = Express()
  23. const MySQLStore = require('express-mysql-session')(session);
  24.  
  25. var options = {
  26. host: process.env.DB_HOST,
  27. user: process.env.DB_USER,
  28. password: process.env.DB_PASSWORD,
  29. database : process.env.DB_NAME
  30. };
  31. var sessionStore = new MySQLStore(options);
  32.  
  33. HTTP.server.set('view engine', '.hbs')
  34. HTTP.server.set('views', Path.resolve('./public/views'))
  35. HTTP.server.engine('.hbs', Handlebars({ defaultLayout: 'user', extname: '.hbs' }))
  36. HTTP.server.use('/assets', Express.static(Path.resolve('./public/assets')))
  37. HTTP.server.use(expressValidator())
  38. HTTP.server.use(cookieParser())
  39. HTTP.server.use(session({
  40. secret: '1g2o3l4d5f6i7s8h9',
  41. resave: false,
  42. store: sessionStore,
  43. saveUninitialized: false,
  44. // cookie: { secure: true }
  45. }))
  46. HTTP.server.use(passport.initialize())
  47. HTTP.server.use(passport.session())
  48. HTTP.server.use(flash())
  49. HTTP.server.use(function(req,res, next){
  50. res.locals.isAuthenticated = req.isAuthenticated();
  51. next();
  52. })
  53. }
  54.  
  55. static route = () => {
  56. for (let i = 0; i < Routes.length; i++) {
  57. let route = Routes[i]
  58. HTTP.server[route.type](route.path, route.controller)
  59. }
  60. }
  61.  
  62. static listen = () => {
  63. HTTP.server.listen(process.env.HTTP_PORT, () => {
  64. console.log(`\x1b[33m[GOLDFISH]\x1b[0m Listening on port \x1b[32m${process.env.HTTP_PORT} \x1b[0m`)
  65. })
  66. }
  67.  
  68. }
  69.  
  70. export default HTTP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement