var createError = require('http-errors'); var express = require('express'); var path = require('path'); var cookieParser = require('cookie-parser'); var cors = require('cors') var logger = require('morgan'); const { getUsers } = require('./lib/getUsers') var indexRouter = require('./routes/index'); var streamsRouter = require('./routes/getStreams'); var getUserAccounts = require('./routes/getUserAccounts') var singleUserCheck = require('./routes/singleCheck') var addAccount = require('./routes/addAccount') var readCookie = require('./routes/readCookie') var getStreamNames = require('./routes/getStreamNames') var login = require('./routes/login') var app = express(); const basicAuth = require('express-basic-auth') // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); app.use(cors({ origin: true, credentials: true, methods: 'GET,PUT,POST,OPTIONS', allowedHeaders: 'Content-Type,Authorization' })); app.use(logger('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser('82e4e438a0705fabf61f9854e3b575af')); app.use(express.static(path.join(__dirname, 'public'))); let usersList = getUsers() const users = { users: usersList, challenge: true } app.use('/', indexRouter); app.use('/login', basicAuth(users), login) app.use('/getStreams', streamsRouter); app.use('/getUserAccounts', getUserAccounts); app.use('/singleCheck', basicAuth(users), singleUserCheck) app.use('/addAccount', addAccount) app.use('/readCookie', readCookie) app.use('/getStreamNames', getStreamNames) // catch 404 and forward to error handler app.use(function (req, res, next) { next(createError(404)); }); // error handler app.use(function (err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; // render the error page res.status(err.status || 500); res.render('error'); }); module.exports = app;