| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- '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) {
- reject('Server has already been started');
- return;
- }
- try {
- server = app.listen(port, () => {
- logger.info(`Server running on port ${port}...`);
- resolve(app);
- });
- } catch (e) {
- reject(e);
- }
- });
- }
- function stop() {
- return new Promise((resolve, reject) => {
- if (!server) {
- reject('Server was not started');
- return;
- }
- server.close();
- server = undefined;
- resolve();
- });
- }
- module.exports = {
- start,
- stop,
- };
|