1 | const connect = require('connect')
|
2 | const {hostOptions} = require('./middleware/hostOptions')
|
3 | const {logger} = require('./middleware/logger')
|
4 | const {allowCors} = require('./middleware/allowCors')
|
5 | const {allowedMethods} = require('./middleware/allowedMethods')
|
6 | const {serviceWorkerScope} = require('./middleware/serviceWorkerScope')
|
7 |
|
8 | const {resolveRequest} = require('./middleware/resolveRequest')
|
9 | const {resolveDependencies} = require('./middleware/resolveDependencies')
|
10 | const {serveResponse} = require('./middleware/serveResponse')
|
11 | const {serveDependencies} = require('./middleware/serveDependencies')
|
12 | const {serveFallback} = require('./middleware/serveFallback')
|
13 |
|
14 | const {errorHandler} = require('middleware-plain-error-handler')
|
15 |
|
16 | module.exports.app = (options, files) => {
|
17 | const app = connect()
|
18 |
|
19 | app.use(hostOptions(options, files))
|
20 | app.use(logger(options.log))
|
21 | app.use(allowedMethods(['GET', 'HEAD']))
|
22 |
|
23 | app.use(resolveRequest())
|
24 | app.use(resolveDependencies())
|
25 |
|
26 | app.use(serviceWorkerScope())
|
27 | app.use(allowCors())
|
28 |
|
29 | app.use(serveResponse(options))
|
30 | app.use(serveDependencies())
|
31 | app.use(serveFallback(options))
|
32 |
|
33 | app.use(errorHandler())
|
34 |
|
35 | app.use((request, response) => {
|
36 | if (request.httpVersionMajor === 2) {
|
37 |
|
38 | response._header = true
|
39 | }
|
40 | })
|
41 |
|
42 | return app
|
43 | }
|