-
Notifications
You must be signed in to change notification settings - Fork 2
/
app.js
executable file
·28 lines (23 loc) · 881 Bytes
/
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
'use strict'
const Koa = require('koa')
const bodyParser = require('koa-bodyparser')()
const staticCache = require('koa-static-cache')
const cors = require('koa2-cors')
const helmet = require("koa-helmet")
const config = require('./config')
const publicRouter = require('./routes/public')
const privateRouter = require('./routes/private')
const { loggerMiddleware } = require('./middlewares/logger')
const { errorHandler, responseHandler } = require('./middlewares/response')
const { corsHandler } = require('./middlewares/cors')
const app = new Koa()
app.use(loggerMiddleware)
app.use(errorHandler)
app.use(bodyParser)
app.use(staticCache(config.publicDir))
app.use(helmet())
app.use(cors(corsHandler))
app.use(publicRouter.routes(), publicRouter.allowedMethods())
app.use(privateRouter.routes(), privateRouter.allowedMethods())
app.use(responseHandler)
module.exports = app