A middleware for expressjs to block or unblock a route
Using npm
npm install route-blocker
Using yarn
yarn add route-blocker
In server.ts (or the file where app and routes are defined)
import { routeBlocker } from "route-blocker";
const BASE_ROUTE = "api/some-base-route";
export const subRouteToBlock = "some-sub-route";
const myRoute = `${BASE_ROUTE}/${subRouteToBlock}`;
app.use(myRoute, routeBlocker.middleware(subRouteToBlock));
app.get(myRoute, myRouteFunction);
In the file where the route blocking should be enabled/disabled
import { routeBlocker } from "route-blocker";
import { subRouteToBlock } from "src/server.ts";
routeBlocker.disableRoute(subRouteToBlock); // disable route
// do something
routeBlocker.enableRoute(subRouteToBlock); // enable route
To remove all route blockings
routeBlocker.clearBlockings();
See the source for more details
route-blocker is MIT licensed.