Neurotic Pantaloon Maker

    @hapipal/hecks

    3.0.0 • Public • Published

    hecks

    Mount your express app onto your hapi server, aw heck!

    Build Status Coverage Status

    Lead Maintainer - Devin Ivy

    Usage

    See also the API Reference

    Hecks is intended for use with hapi v19+ and nodejs v12+ (see v2 for lower support).

    Hecks allows you to seamlessly incorporate express applications into a hapi v17+ server. This is particularly useful for testing an express server using server.inject(), for unifying deployment of existing express and hapi applications, and as an initial stepping stone in migrating an express application to hapi.

    const Express = require('express');
    const BodyParser = require('body-parser');
    const Hapi = require('@hapi/hapi');
    const Hecks = require('@hapipal/hecks');
    
    (async () => {
    
        const app = Express();
    
        app.post('/user', BodyParser.json(), (req, res) => {
    
            const user = { ...req.body };
            user.saved = true;
    
            res.json(user);
        });
    
        const server = Hapi.server();
    
        await server.register([
            Hecks.toPlugin(app, 'my-express-app')
        ]);
    
        const { result } = await server.inject({
            method: 'post',
            url: '/user',
            payload: { name: 'Bill', faveFood: 'cactus' }
        });
    
        console.log(result); // {"name":"Bill","faveFood":"cactus","saved":true}
    })();

    Install

    npm i @hapipal/hecks

    DownloadsWeekly Downloads

    51

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    7.61 kB

    Total Files

    4

    Last publish

    Collaborators

    • mattboutet
    • optii
    • devinivy