Giter Site home page Giter Site logo

express-remove-route's Introduction

remove-route-onthefly

Delete a route in express at runtime.

Overview

I wanted the ability to dynamically control Express routing but was not able to delete a route at runtime. This module solves that problem. It is a fork from express-remove-route by brennancheung "https://github.com/brennancheung/express-remove-route"

Installation

npm install remove-route-onthefly

Usage

var removeRoute = require('remove-route-onthefly');

var app = express();
var router = express.Router();

router.get('/remove/me', function(res, res) {
    res.send('I should not be here');
});

app.use('/foo', router);

removeRoute(app, '/foo/remove/me');

Note that the full path is supplied to removeRoute not just its local path from within the router.

Reference

removeRoute(app, resourcePath, resourceMethod);

This is the function that remove a resource route on the fly The param app is the express application(app) on which you want remove the resource.
the param resourcePath is the resource path to remove on the fly
the param resourceMethod is the resource method with a given path to remove on the fly. If null or undefined all
routes with the given path are removed.

Examples

Remove all resources with a given path

var removeRoute = require('remove-route-onthefly');

var app = express();
var router = express.Router();

router.get('/remove/me', function(res, res) {
    res.send('I should not be here');   // removed
});

router.put('/remove/me', function(res, res) {
       res.send('I should not be here');    // removed
});

app.use('/foo', router);

removeRoute(app, '/foo/remove/me');  // all routes with a path /foo/remove/me are removed 

Remove all resources with a given path and method

var removeRoute = require('remove-route-onthefly');

var app = express();
var router = express.Router();

router.get('/remove/me', function(res, res) {
    res.send('I should not be here'); // removed
});

router.put('/remove/me', function(res, res) {
       res.send('I should be here');  // not removed
});

app.use('/foo', router);

removeRoute(app, '/foo/remove/me','get');  // all routes with a path /foo/remove/me in method get are removed 

Caveat emptor

This module has been tested against Express 4.13.3. In theory, it should work with all of 4.x.

However, it will definitely NOT work with 3.x.

Also, it makes use of undocumented private Express methods and data structures that may be subject to change.

Contributors

Alessandro Romanino ([email protected])

express-remove-route's People

Contributors

anucreative avatar brennancheung avatar stuartstevenson avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.