ErrorUnit

libflitter/errors/ErrorUnit~ ErrorUnit

The error unit defines last-resort handlers for HTTP 404 and HTTP 500 errors. This unit must be loaded after all other routes. If it isn't, it will preempt any other routes from working. The routes in this unit are used if no other path is found. The handler alters the status of the request to the HTTP error, then renders the appropriate view in the "views/errors/" directory.


Constructor

new ErrorUnit()

Extends

Members

(static) name

Gets the name of the service provided by this unit: 'error_handling'

(static) services

Defines the services required by this unit.

(private) _di_allow_defer :boolean

If true, the injector will defer the class if the class requests any services that the container is missing. These services are filled in later and added to the prototype and any instances. True by default.

Type:
  • boolean

(private) _di_deferred_instances :Array.<module:flitter-di/src/Injectable~Injectable>

Collection of instances of this class that need to have the deferred service instances injected into them when the deferred services are finally provided.

(private) _di_deferred_services :Array.<string>

List of services that were deferred and not provided at the time of injection.

Type:
  • Array.<string>

Methods

(async) cleanup(app) → {Promise.<void>}

Cleans up the unit's resources before Flitter closes.

Parameters:
Name Type Description
app module:libflitter/app/FlitterApp~FlitterApp

the Flitter app

Returns:
Type
Promise.<void>

directories() → {Object}

Get the directories provided by the unit. Should be an object such that key => value is the name of the directory => fully qualified path to the directory.

Returns:
Type
Object

(async) go(app) → {Promise.<void>}

Loads the unit. Registers last-resort handlers for HTTP404 and HTTP500 errors with the underlying Express app. All HTTP errors are handled by rendering the view where the canonical name is 'errors:CODE' where 'CODE' is the numerical error code. If the 'server.environment' configuration is set to development, then all errors are handled by rendering the 'errors:development' view.

Parameters:
Name Type Description
app module:libflitter/app/FlitterApp~FlitterApp

the Flitter app

Returns:
Type
Promise.<void>

name() → {String}

Get the name of the unit. Should be a lowercase, alphanum/dash/underscore string.

Returns:
Type
String

status(setopt) → {string}

Get or set the unit's current status.

Parameters:
Name Type Attributes Description
set string <optional>

if provided, set the status of the unit

Returns:
  • current status of the unit
Type
string