glee
v2.0.4
Published
Specify environment-specific scopes for your routes with ease.
Downloads
24
Maintainers
Readme
Glee for Hapi
Don't want to show certain test routes on production? use Glee! Glee allows you to specify environment-specific scopes for your routes with ease. It utilizes minimatch to compare a route's optional scope to the current node environment, and will filter out any routes from the array that don't match the criteria before registering them.
Install
npm install glee
Example
If a route's scope is set to
!production
The route will be registered when the environment is not "production". Conversely, if the route's scope is set to
development
The route will only be registered if the environment is "development".
Advanced
Given the following scope:
+(development|staging)
The route will be registered if the environment is either "development", or "staging". You can read more about using minimatch here.
Usage
/**
* Step 1. Define the routes.
*/
var routes = [
{
method: 'GET',
path: '/',
handler: function (request, reply) {
return reply('Hello, World.\n');
}
}, {
method: 'GET',
path: '/ping',
handler: function (request, reply) {
return reply('Pong!\n');
},
config: {
plugins: {
glee: {
// Register this route only if the environment
// is not "production".
scope: '!production'
}
}
}
}
];
/**
* Step 2. Register the plugin.
*/
server.register([
{
register: require('glee'),
options: {
routes: routes,
environment: 'development'
}
}
], function (err) {});
options
|Name|Type|Description|Required|
|----|----|:----------|:------:|
|routes
|array
|Our Hapi routes.|Yes|
|environment
|string
|The server environment. This is what we will compare a route's scope to. Defaults to process.env.NODE_ENV
|No|
Authors
License
MIT