code: function WatsonVisualRecognitionV3Node(config) {
      var node = this,
        b = false,
        feature = '';
  
      RED.nodes.createNode(this, config);
      node.config = config;
  
      node.on('input', function(msg) {
        var params = {};
  
        node.status({});
  
        verifyPayload(msg)
          .then(function() {
            return verifyFeatureMode(node, msg, config);
          })
          .then(function(f) {
            feature = f;
            return checkForStream(msg);
          })
          .then(function() {
            return verifyInputs(feature, msg);
          })
          .then(function() {
            return determineEndpoint(config);
          })
          .then(function() {
            return verifyServiceCredentials(node, msg);
          })
          .then(function() {
            return execute(feature, params, node, msg);
          })
          .then(function() {
            temp.cleanup();
            node.status({});
            node.send(msg);
          })
          .catch(function(err) {
            payloadutils.reportError(node, msg, err);
  
            msg.result = {};
            msg.result['error'] = err;
            // Note: This node.send forwards the error to the next node,
            // if this isn't desired then this line needs to be removed.
            // Should be ok as the node.error would already have recorded
            // the error in the debug console.
            temp.cleanup();
            node.send(msg);
          });
      });
    }
docs: This is the Watson Visual Recognition V3 Node