| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 'use strict';
- const express = require('express');
- const logger = require('../logger');
- const { port } = require('../config');
- const app = express();
- require('./middleware')(app);
- app.use('/', require('./routes'));
- // eslint-disable-next-line no-unused-vars
- app.use((err, req, res, next) => res.sendStatus(err.status || 500));
- let server;
- function start() {
- return new Promise((resolve, reject) => {
- if (server) {
- resolve(app);
- return;
- }
- server = app
- .listen(port, () => {
- logger.info(`Server running on port ${port}...`);
- resolve(app);
- })
- .on('error', reject);
- });
- }
- function stop() {
- if (server) {
- server.close();
- }
- server = undefined;
- }
- module.exports = {
- start,
- stop,
- };
|