UNPKG

node-red-contrib-nanoleaf

Version:

[![platform](https://img.shields.io/badge/platform-Node--RED-red?logo=nodered)](https://nodered.org) [![Min Node Version](https://img.shields.io/node/v/node-red-contrib-nanoleaf.svg)](https://nodejs.org/en/) [![GitHub version](https://img.shields.io/githu

37 lines (31 loc) 1.23 kB
module.exports = function (RED) { 'use strict' const axios = require('axios') function Advanced(config) { RED.nodes.createNode(this, config) var node = this var installationObj = RED.nodes.getNode(config.installation) this.on('input', (msg) => { const request = axios.create({ baseURL: `http://${installationObj.host}:${installationObj.port}${installationObj.base}${config.includeAuthToken ? installationObj.accessToken : ''}` }) var promise switch (config.operation) { case 'put': promise = request.put(config.uri, msg.payload || {}) break case 'post': promise = request.post(config.uri, msg.payload || {}) break case 'get': default: promise = request.get(config.uri) } promise.then((r) => { msg.payload = r.data node.send(msg) }).catch((err) => node.error(err.message, err)) }) } RED.nodes.registerType('advanced', Advanced) }