henning
v3.0.0
Published
Server-level thurston validation for hapi
Downloads
14
Maintainers
Readme
henning
Server-level thurston validation for hapi.
Table of Contents
Installation
Install via NPM.
$ npm install henning
Usage
Register the package as a server plugin to enable validation for each route that parses — parse: true
— and creates a Readable
stream for each file in the request payload — output: 'stream'
. For every other route with a different configuration, the validation is skipped.
If the validation fails, a joi-like 400 Bad Request
error is returned alongside an additional content-validation: failure
response header. If everything is ok, the response will ultimately contain a content-validation: success
header.
Example
const Hapi = require('hapi');
const Henning = require('henning');
try {
const server = new Hapi.Server();
server.route({
options: {
payload: {
output: 'stream',
parse: true
}
// go nuts
}
});
await server.register({
register: Henning,
options: {
// Allow png files only
whitelist: ['image/png']
}
});
await server.start();
}
catch (err) {
throw err;
}
Supported File Types
The same as file-type.