require('dotenv').load(); var app, express = require('express') var http = require('http') var path = require('path') var favicon = require('serve-favicon') var bodyParser = require('body-parser') var stringify = require('csv-stringify') var auth = require('http-auth') var basic = auth.basic({ realm: "Restricted Area" }, function (username, password, callback) { callback(username === process.env.HTTP_USER && password === process.env.HTTP_PASS) } ) var db = require('./db') var server, app var site = {} site.init = function(){ app = express() app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))) app.use(express.static('public', { extensions: ['html'] })) app.use(express.static('views')) app.use(auth.connect(basic)) app.get('/api/products', site.json(db.products)) app.get('/api/orders', site.json(db.ordersBySku)) var server = http.createServer(app).listen(process.env.PORT, function () { var port = server.address().port console.log('MSANA listening at http://lvh.me:%s', port) }) } site.json = function(method){ return function(req, res){ method(req.query.id).then(function(data){ res.json(data) }) } } site.init()