This is a library for use with ExpressJS-based web servers to provide an extremely versatile routing system.
The Route-O-Matic uses a single configuration set to allow complete build-time OR run-time configuration of hostnames and routes supported by the server. Furthermore, the hosts and routes can be changed at any time without requiring a restart of the server.
- The main Route-O-Matic library itself (lib/routeomatic.js), all that needs to be included for use.
- The Host-Table library (lib/host-table.js), which provides the virtual host functionality.
- The Route-Table library (lib/route-table.js), which provides the route table parsing and resolving functionality.
- The RouteOMatic-Request, or ROM-Request, library (lib/rom-request.js), which provides a new request object for use with Route-O-Matic route handling functions.
- Fully run-time configurable and re-configurable.
- Supports any number of virtual hosts with unique or shared route tables.
- Route tables can use regular expressions or much faster prefix tree/Trie-based logic.
- Ability to define a default host to use for unconfigured host names.
- Redirects, rewrites, handled routes are all configured as "routes".
- Built-in easy to use proxy logic.
- Documentation needs to be written.
- A test suite needs to be created.