Socket
Book a DemoInstallSign in
Socket

delegoat

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

delegoat

Delegate handlers for JSON payloads, where the payload data model closely resembles an HTTP Request message but is decoupled from HTTP.

latest
Source
npmnpm
Version
2.0.0
Version published
Maintainers
1
Created
Source

delegoat

Delegate handlers for JSON payloads, where the payload data model closely resembles an HTTP Request message but is decoupled from HTTP.

Made for Node.

DELEGOAT, n.: The person to whom a task is purposely assigned because that person was not present at the meeting.

"During the meeting we all agreed that someone needed to go through all of last year's records, find the error and fix it. Stan was the only one not present, so we made him our delegoat."

Andrew St. "Delegoat." Urban Dictionary. N.p., 2 Jan. 2008. Web. 6 Nov. 2014. http://www.urbandictionary.com/define.php?term=delegoat.

Version 2.0.0

  • Payloads typically originate from an AMQP broker

  • delegoat expects JSON payloads that conforms to the HyperJSON Request Message Schema, in short:

    {
      method: '', // is required, options: GET | POST | PUT | DELETE
      uri: '',    // is required, e.g. /resource/identifiers?key=value&other=stuff
      body: {}    // is entirely optional
    }
    

Installation

$ npm install --save delegoat

Sample Usage

  • Sample Usage for GET

    • Payload

      {
        method: 'GET'
        uri: '/organizations/123?role=manager'
      }
      
    • Node Microservice

      var delegoat = require('delegoat');
      
      /**
      *   PayloadClient is not a real thing,
      *   it is used only for demonstration purposes.
      *   However, payloads are typically captured by some AMQP client
      */
      var payloadClient = new PayloadClient();
      
      // add handlers to the delegoat, much like you would with Express routes
      delegoat.get('/organizations/{organizationId}', function(serviceData) {
        console.log(serviceData);
        /* outputs:
        {
          parameters: {
            organizationId: '123'
          },
          query: {
            role: 'manager'
          },
          body: {}
        }
        */
      
        // now, do some real work with serviceData
      });
      
      // let the appropriate handler do the work!
      payloadClient.on('payload', delegoat.handleIt);
      
  • Sample Usage for POST

    • Payload

      {
        method: 'POST'
        uri: '/organizations',
        body: {
          id: 'cfabb3a7-6de0-4b40-8903-99aaac104124',
          name: 'Startups Anonymous, LLC'
        }
      }
      
    • Node Microservice

      var delegoat = require('delegoat');
      
      /**
      *   PayloadClient is not a real thing,
      *   it is used only for demonstration purposes.
      *   However, payloads are typically captured by some AMQP client
      */
      var payloadClient = new PayloadClient();
      
      // add handlers to the delegoat, much like you would with Express routes
      delegoat.post('/organizations', function(serviceData) {
        console.log(serviceData);
        /* outputs:
        {
          parameters: {},
          query: {},
          body: {
            id: 'cfabb3a7-6de0-4b40-8903-99aaac104124',
            name: 'Startups Anonymous, LLC'
          }
        }
        */
      
        // now, do some real work with serviceData
      });
      
      // let the appropriate handler do the work!
      payloadClient.on('payload', delegoat.handleIt);
      
  • PUT and DELETE are supported too

Keywords

delegate

FAQs

Package last updated on 12 Nov 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts