Skip to content
/ chav Public

chav is a hapi plugin to create static routes from json files

License

Notifications You must be signed in to change notification settings

igorkosta/chav

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chav Codeship Status for igorkosta/chav

Sometimes in life you just want to serve static json content as an API route.

chav is a hapi.js plugin to serve a static json file as an API route. Per default the file under static/static.json is served as GET /statics

Installation

npm install --save chav

Usage

As long as you don't provide any options, we'll assume that the file you want to be served is called static.json and is located in the static folder of your app. The /static route is not protected. These are the defaults we're using. If you want to override the servable or the path just provide your options on plugin registration.

const defaults = {
  servable: 'static/static.json',
  path: '/statics',
  tags: ['static', 'route'],
  description: 'Renders static route defined in a file',
  responses: {
    statusCode: 400,
    message: 'No static routes found'
  },
  auth: false
};

You can override servable, path, tags and description.

When you register your plugin with e.g. glue:

{
  "plugin": {
    "register": "chav",
    "options": {
                 "servable" : "static/foobar.json"
               }
  }
}

TODOs

  • Whenever the json file has more than one array (see example below), try to also offer the /statics/beers and /statics/snacks routes
{
  "beers" : [

  ],
  "snacks" : [

  ]
}
  • Check if the servable is actually a file or a directory and if it's a directory serve every file as an API route, e.g. file name is a route name.

License

MIT

About

chav is a hapi plugin to create static routes from json files

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published