1.0.3 • Published 5 years ago

chiliconnector v1.0.3

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

ChiliConnector

A small library that allows you to easily make web service calls to your CHILI publisher install. To learn more about CHILI publisher check out chili-publish.com

This module was developed for servers running CHILI Publisher >5.6

This will work with older CHILI installs, but you must use in SOAP mode and some functions will be missing. Support for older CHILI versions may be added in the future.

Installation

npm install chiliconnector

Usage

First

Frist, you need to add the script as requirement for your code.

Second

Second, you need to initilize a new ChiliConnector class. This class takes two parameters:

  • The beginning URL of the endpoit
  • Any options (not required)

It should be noted that at the current version, the URL requirement does not intelligently protect from putting in the wrong endpoint address - in the future this will change.

So if you REST endpoit is: http://www.crowe.chili/chili/rest-api/v1/system/apikey?environmentNameOrURL=Admin

Then you want to use only up until the "rest-api" point. So the URL you would use as a paramter is: http://www.crowe.chili/chili/

Third

Use the functions to make request to the server. The last paramtere of all request will be a boolean to determine whether you get a JSON or XML response back.

I strongly suggest using a try catch block as it is required by Node but also because you will get your server errors from the error message.

Fourth

Wait for your response using the two most come ways to deal with promises: "await" or promise syntax (see example below).

Fifth

You will get a JSON or XML response back depending on the parameter set in the third step.


Using Await

const ChiliConnector = require('chiliconnector').ChiliConnector;

let connector = new ChiliConnector("http://www.crowe.chili/chili/");

async function main() {
    try {
        let apiKey = (await connector.generateApiKeyAsync("admin", "admin", "admin")).key;

        console.log(apiKey);
    }
    catch (error)
    {
        console.log(error);
    }
}

main();

//Output should be an apiKey or an error if you had the wrong info

Using Promises

const ChiliConnector = require('chiliconnector').ChiliConnector;

let connector = new ChiliConnector("http://www.crowe.chili/chili/");

function main() {
	connector.generateApiKeyAsync("admin", "admin", "admin"))
		.then(res => 
		{
			console.log(res.key);
		})
		.catch(err)
		{
			console.log(err);
		}
}
main();

//Output should be an apiKey or an error if you had the wrong info

Options

When you create a ChiliConnector class, you can provide two parameters the URL of the beginning your endpoint and some options.

The options are simple an Object, and you can include or exclude the following options. Below is the following default options:

    	{
        			url: url, // this is set by the constructor, but you can change the URL path
        			version: 1, // Version of the URL
        			rest: true, // Set to 'true' to use REST or 'false' to use SOAP
        			autoCDATA : true // Set to 'true' will add CDATA tags around any XML paramater
    	}`

So for example, if you want to create a ChiliConnector that uses SOAP, you would just add the option during initilization.

const ChiliConnector = require('./main').ChiliConnector;

let connectorSoap = new ChiliConnector("http://www.crowe.chili/5.6/",
    {
        rest: false
    });

Browser Usage

There are many ways to build this package to work with a browser, but personally I use Parcel because it is super easy.

Please see Parcel's website for deeper documentation and installation instructions, but the most simple use case is you write your code in say a file (or files), and use Parcel to combine everything into one package which you will load in the browser.

Contributing

In lieu of a formal style guide, take care to maintain the existing coding style.