-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
41 lines (38 loc) · 1.12 KB
/
index.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
'use strict'
var express = require('express');
var app = require('./src/ErrorHandle')
require('dotenv').config();
var counter = require('./src/counter');
var bodyParser = require('body-parser');
//authentication
var path = require('path');
var auth = require('express-authentication');
var basic = require('express-authentication-basic');
var login = basic(function(challenge, callback) {
if (challenge.username === 'bruce' && challenge.password === 'liu') {
callback(null, true, { user: 'charles' });
} else {
callback(null, false, { error: 'INVALID_PASSWORD' });
}
});
app.use(login);
app.use(function(req, res,next) {
if (req.authenticated) {
next();
} else {
res.status(401).send();
}
});
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
//routing definition
app.get('/Counter/show', counter.show);
app.put('/Counter/add/:number', counter.add);
app.put('/Counter/sub/:number', counter.sub);
app.put('/Counter/clear', counter.clear);
app.use(express.static('./build'));
app.listen(process.env.SVR_PORT, function () {
console.log('gamp app listening on port', process.env.SVR_PORT, '!')
});