2018-06-27 14:46:03 -06:00
|
|
|
import * as bodyParser from "body-parser";
|
|
|
|
import * as express from "express";
|
|
|
|
|
|
|
|
import { ServerState } from "../state";
|
2018-08-10 16:09:23 +03:00
|
|
|
import createApi from "./api";
|
|
|
|
import errorHandler from "./errorHandler";
|
2018-07-08 06:57:03 -06:00
|
|
|
import requestLogger from "./requestLogger";
|
2018-06-27 14:46:03 -06:00
|
|
|
import serveApp from "./serveApp";
|
|
|
|
|
|
|
|
export function createApp(state: ServerState) {
|
|
|
|
const app = express();
|
|
|
|
|
2018-07-08 06:57:03 -06:00
|
|
|
app.use(requestLogger);
|
2018-06-27 14:46:03 -06:00
|
|
|
app.use(bodyParser.json());
|
2018-08-27 23:09:45 -06:00
|
|
|
app.use(bodyParser.urlencoded({ extended: true }));
|
2018-06-27 14:46:03 -06:00
|
|
|
|
2018-08-10 16:09:23 +03:00
|
|
|
app.use("/api", createApi(state));
|
2018-06-27 14:46:03 -06:00
|
|
|
|
|
|
|
serveApp(app);
|
|
|
|
|
2018-07-08 14:02:05 -06:00
|
|
|
app.use(errorHandler);
|
|
|
|
|
2018-06-27 14:46:03 -06:00
|
|
|
return app;
|
|
|
|
}
|