appcd-client

3.0.7 • Public • Published

appcd-client

The Node.js client for connecting to the Appc Daemon. Internally appcd-client uses a WebSocket for communicating with the server.

Visit https://github.com/appcelerator/appc-daemon for more information.

Report issues to GitHub issues. Official issue tracker in JIRA.

Installation

npm i appcd-client

Usage

import Client from 'appcd-client';

const client = new Client();

client
	.request('/appcd/status')
	.on('response', status => {
		console.log(status);
		client.disconnect();
	})
	.on('error', err => {
		console.error('ERROR!');
		console.error(err);
	});

To subscribe to a service:

client
	.request({
		path: '/appcd/status/system/loadavg',
		type: 'subscribe'
	})
	.on('response', status => {
		console.log(status);
		client.disconnect();
	})
	.on('error', err => {
		console.error('ERROR!');
		console.error(err);
	});

Starting the Appc Daemon

request() will automatically call connect(), however it will error if the daemon is not running. You can call connect() prior to making your request and specify the startDaemon flag:

const client = new Client();

(async () => {
	try {
		// connect to the daemon and start it if its not running.
		await new Promise((resolve, reject) => {
			client
				.connect({ startDaemon: true })
				.on('connected', resolve)
				.on('error', reject);
		});

		await new Promise((resolve, reject) => {
			client
				.request('/appcd/status')
				.on('response', status => {
					console.log(status);
					client.disconnect();
					resolve();
				})
				.on('error', reject);
		});
	} catch (err) {
		console.error('ERROR!');
		console.error(err);
	}
})();

Legal

This project is open source under the Apache Public License v2 and is developed by Axway, Inc and the community. Please read the LICENSE file included in this distribution for more information.

Package Sidebar

Install

npm i appcd-client

Weekly Downloads

12

Version

3.0.7

License

Apache-2.0

Unpacked Size

62.5 kB

Total Files

5

Last publish

Collaborators

  • cb1kenobi
  • awam
  • tisdk