0.1.0 • Published 2 years ago

waymaker v0.1.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

Waymaker: An Express Middleware That Routes Based On The Request

Waymaker is currently centered around routing based on domain name, but that is likely to change as the package expands. This is due to the fact that Waymaker has no explicit reason for only resolving based on domain.

WARNING

NodeJS must be v12 or higher, as this library does use private fields and arrow functions.

Example

Eventually, I'll write full documentation for Waymaker, but for now this will do.

Create a project and add express and waymaker.

Create app.js and paste the following code block.

const express = require("express");
const app = express();
const port = 80;

const Waymaker = require("waymaker");

const waymaker = new Waymaker({
    matcher: Waymaker.matchers.SubdomainMatcher,
    match: { baseDomain: "localhost" },
});

const hiRouter = express.Router();

hiRouter.get("/", (req, res) => {
    res.send("Hi!");
});

const byeRouter = express.Router();

byeRouter.get("/", (req, res) => {
    res.send("Bye!");
});

waymaker.register("hi", hiRouter);

waymaker.register("bye", byeRouter);

app.use(waymaker.middleware);

app.listen(port, () => {
    console.log(`Example app listening on port ${port}`);
});

Now run the app.js.

When you visit hi.localhost in your browser you should see hi.

When you visit bye.localhost in your browser you should see bye.