Small Router is a data-driven reverse proxy router in Node.
Data-driven means that the routing table comes from a database instead of a configuration file or code.
The routing table enables creating a template for incoming requests for any URL or path and mapping it to different URL or path. The client doesn't get redirected to the new URL, but rather, the request is proxied. Other than the IPs and modified HTTP addresses, the requests/responses are completely transparent.
It's fast too. Making a call to the DB on every request would be dumb. Instead, the routing table is maintained in memory. Every 30 seconds it checks the database asynchronously and updates the routing table.