hapi-versioning

Hapijs, versioning plugin

Usage no npm install needed!

<script type="module">
  import hapiVersioning from 'https://cdn.skypack.dev/hapi-versioning';
</script>

README

hapi-versioning


Version handling for Hapi.js

WHY?

We want to keep our API clean being able to call /users or /users/2/follow/1 without adding version number /api/v1/users and api/v2/users

with this Hapi.plugin you can just pass the pattern and header

{
    register: require('hapi-versioning'),
    options: {
        pattern: /^(v[1-9])$/,
        header: 'ourversion'
    }
},

That will check the header (only if its not set in the url) on evevry request and will redirect to thr right path.

for ex'

{
    register: require('hapi-versioning'),
    options: {} //set to default header.version = v1
},


header: { version: v1 }
url: /hello/world
//Will redirect to: url: /v1/hello/world

** url will override the header all the time

Checkout the test for more examples