44 lines
1.6 KiB
JavaScript
44 lines
1.6 KiB
JavaScript
|
/*
|
||
|
* Load the units file.
|
||
|
* -------------------------------------------------------------
|
||
|
* This file contains an ordered object of unit files. Flitter will load these
|
||
|
* one at a time to launch the application. Each unit in the sequence is passed
|
||
|
* the function for the next unit in the sequence. This forms the function stack
|
||
|
* by chaining the units together, ending with the Flitter App unit.
|
||
|
*/
|
||
|
const units = require('./Units.flitter')
|
||
|
|
||
|
const { FlitterApp, RunLevelErrorHandler } = require('libflitter')
|
||
|
|
||
|
/*
|
||
|
* Create the app.
|
||
|
* -------------------------------------------------------------
|
||
|
* The FlitterApp object contains the wrapper for the Express app, as well as
|
||
|
* the initialization function that chains together the individual units. This
|
||
|
* is why we pass it the units.
|
||
|
*/
|
||
|
const flitter = new FlitterApp(units)
|
||
|
|
||
|
/*
|
||
|
* Create the error handler.
|
||
|
* -------------------------------------------------------------
|
||
|
* The run-level error handler is responsible for dealing with errors that make
|
||
|
* it all the way to the top level of the running app. Most of the time, routing
|
||
|
* errors are handled by the router and result in some kind of error page showing
|
||
|
* to the user.
|
||
|
*
|
||
|
* The errors handled by the RLEH are structural errors that are problems with the
|
||
|
* application itself.
|
||
|
*/
|
||
|
const rleh = new RunLevelErrorHandler()
|
||
|
|
||
|
/*
|
||
|
* Launch the server.
|
||
|
* -------------------------------------------------------------
|
||
|
* This calls the first unit in the unit chain. This chain ends with the Flitter
|
||
|
* server component which launches the Node HTTP server.
|
||
|
*
|
||
|
* Calls up() and down().
|
||
|
*/
|
||
|
flitter.run().catch(rleh.handle)
|