connect-conductor

Conductor is highly configurable routing middleware for Connect.

Conductor

Conductor is highly configurable routing middleware for Connect.

Some contrived examples:

{
  routes: {
    '/':                    '/path/to/route/to',      // static routing 
    '/assets/css/*path':    '/dist/css/[path]',       // wildcard routes 
    '/api/:version/*path':  '/api/v[version]/[path]', // named routes 
    '/assets/js/*path':     '/dist/[site]/js/[path]', // `site` routekey usage 
    '/sites/:site/*path':   '/[site]/[path]'          // the `site` placeholder in the request takes precedence over routekeys 
  }
 
  // can be overridden for individual requests 
  routekeys: {
    'site'function (request) {
      return 'mysite';
    }
  }
}
// gruntfile definitions 
 
connect: {
  options: {
    middlewarefunction (connectoptions) {
      return [
        require('connect-conductor').route(options),
        // other middleware 
      ]
    },
 
    routes: {
      // define routes 
    },
 
    routekeys: {
      // define route keys 
    }
  }
}