You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Global-sales/wai-server/server.js

44 lines
1.0 KiB
JavaScript

const Koa = require('koa');
const server = new Koa();
const bodyParser = require('koa-bodyparser')();
const compress = require('koa-compress')();
const cors = require('@koa/cors')(/* Add your cors option */);
const helmet = require('koa-helmet')(/* Add your security option */);
const logger = require('koa-logger')();
const requestHandler = require('./middleware/request.middleware');
const { isDevelopment } = require('./config');
const applyApiMiddleware = require('./api');
/**
* Add here only development middlewares
*/
if (isDevelopment) {
server.use(logger);
// Logger
server.use(async (ctx, next) => {
const start = new Date();
await next();
const ms = new Date() - start;
console.log(`${ctx.method} ${ctx.url} - ${ctx.status} - ${ms}ms`);
});
}
/**
* Pass to our server instance middlewares
*/
server
.use(bodyParser)
.use(helmet)
.use(compress)
.use(cors);
server.use(requestHandler); // 必须在最后
/**
* Apply to our server the api router
*/
applyApiMiddleware(server);
module.exports = server;