UNPKG

1.12 kBJavaScriptView Raw
1const fs = require('fs');
2const path = require('path');
3const http = require('http');
4const util = require('./util');
5const basename = path.basename;
6const server = require('./server');
7const express = require('express');
8const app = express();
9const bodyParser = require('body-parser');
10const compression = require('compression');
11
12exports = module.exports = (options = {}) => {
13 const port = options.port || process.env.PORT || 3000;
14
15 server.init(options);
16 server.onRequest = server.onRequest.bind(server);
17
18 app.disable('x-powered-by');
19 app.use(compression());
20
21 app.get('*', server.onRequest);
22
23 //dont check content-type and just always try to parse body as json
24 app.post('*', bodyParser.json({ type: () => true }), server.onRequest);
25
26 app.listen(port, () => util.log(`Prerender server accepting requests on port ${port}`))
27
28 return server;
29};
30
31fs.readdirSync(__dirname + '/plugins').forEach((filename) => {
32 if (!/\.js$/.test(filename)) return;
33
34 var name = basename(filename, '.js');
35
36 function load() {
37 return require('./plugins/' + name);
38 };
39
40 Object.defineProperty(exports, name, {
41 value: load
42 });
43});
\No newline at end of file