-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathapp.js
58 lines (49 loc) · 1.55 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
52
53
54
55
56
57
58
const express = require("express");
const http = require("http");
const bobyParser = require("body-parser");
const session = require("express-session");
const MemoryStore = require('memorystore')(session)
const cookieParser = require("cookie-parser");
var svgCaptcha = require('svg-captcha');
// server
var app = express();
var server = http.createServer(app);
server.listen(process.env.PORT || 5050);
app.use(express.static("public"));
app.use(bobyParser.urlencoded({
extended: false
}));
// session
app.use(session({
secret: 'sessiontest',
resave: false,
saveUninitialized: true,
store: new MemoryStore({
checkPeriod: 86400000 // prune expired entries every 24h
}),
}));
//captcha
svgCaptcha.options.width = 108,
svgCaptcha.options.height = 40;
app.get('/captcha.svg', function (req, res) {
var captcha = svgCaptcha.create();
req.session.captcha = captcha.text;
res.type('svg');
res.status(200).send(captcha.data);
});
// router
const routerProduct = require('./product');
const routerUser = require('./user');
const routerCart = require('./cart');
const routerSearch = require('./search');
const routerIndex = require('./index');
app.use('/product', routerProduct);
app.use('/user', routerUser);
app.use('/cart', routerCart);
app.use('/search', routerSearch);
app.use('/index', routerIndex);
app.use((err, req, res, next) => {
console.error('error in the server: \n', err);
res.status(500).send(err.message || 'error in the server');
})
module.exports = app;