Wondering what‚Äôs next for npm?Check out our public roadmap! ¬Ľ

    @connectedyard/restify-await-promise

    2.3.1¬†‚Äʬ†Public¬†‚Äʬ†Published

    restify-await-promise

    Build Status dependency Status peerDependency Status devDependency Status

    Converts restify routes to support async/await and returned promises. Works with Restify 4.x through 6.x. May work with Restify 7+.

    Supported Restify Versions

    • Fully Supported
      • 4.x to 5.x
    • Probably Works
      • 6.x
    • Partially Compatible
      • 7.x+

    Usage

    const restify = require('restify');
    const restifyPromise = require('restify-await-promise');
     
    const server = restify.createServer({
      name: 'myapp',
      version: '1.0.0'
    });
     
    //Allows you to manipulate the errors before restify does its work
    const alwaysBlameTheUserErrorTransformer = {
        transform: function( exceptionThrownByRoute ){
            //Always blame the user
            exceptionThrownByRoute.statusCode = 400; 
            return exceptionThrownByRoute;
        }
    }
     
    const options = {
        logger: yourLogger,                                  //Optional: Will automatically log exceptions
        errorTransformer: alwaysBlameTheUserErrorTransformer //Optional: Lets you add status codes 
    };
     
    restifyPromise.install( server, options ); // Options is not required
     
    // Async function, automatically calls send with the returned object and next
    server.get('/lookup/:name', async function (req) {
        return await SomePromise.work( req.parms.name );
    });
     
    // Promise function
    server.get('/echo/:name', function (req) {
        const params = req.params; 
        return Promise.resolve( { params } );
    });
     
    // Existing restify method
    server.get('/echo2/:name', function (req, res, next) {
          res.send(req.params);
          next();
    });
     
    // Versioned Route with Restify 7+
    server.get('/seek/:enlightenment', restifyPromise.asyncConditionalHandler([
        {
            version: "1.0.0",
            handler: async function (req) {
                const result = await searchFor( req.parms.enlightenment );
                return result;
            }
        }
    ]));
     
    server.listen(8080, function () {
          console.log('%s listening at %s', server.name, server.url);
    });

    Installation

    $ npm install --save restify-await-promise

    Bugs

    See https://github.com/PhinCo/restify-await-promise/issues.

    Install

    npm i @connectedyard/restify-await-promise

    DownloadsWeekly Downloads

    8

    Version

    2.3.1

    License

    MIT

    Unpacked Size

    9.56 kB

    Total Files

    6

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar