copperfield

    4.0.0 • Public • Published

    copperfield

    Server-level houdin validation for hapi.

    NPM Version Build Status Coverage Status Dependencies Dev Dependencies

    Table of Contents

    Installation

    Install via NPM.

    $ npm install copperfield

    Usage

    Register the package as a server plugin to enable validation for each route that parses — parse: true — and reads the request payload into memory — output: 'data'. 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 Copperfield = require('copperfield');
     
    try {
        const server = new Hapi.Server();
     
        await server.register({
            plugin: Copperfield,
            options: {
                // Allow png files only
                whitelist: ['image/png']
            }
        });
     
        server.route({
            options: {
                payload: {
                    output: 'data',
                    parse: true
                }
                // go nuts
            }
        });
     
        await server.start();
    }
    catch (err) {
        throw err;
    }

    Supported File Types

    The same as file-type.

    Install

    npm i copperfield

    DownloadsWeekly Downloads

    4

    Version

    4.0.0

    License

    BSD-3-Clause

    Last publish

    Collaborators

    • ruiquelhas