gogo-shell
v0.0.5
Published
A Node wrapper for sending Gogo commands to an OSGi environment
Downloads
1,012
Readme
gogo-shell
A Node wrapper for sending Gogo commands to an OSGi environment
Install
$ npm install --save gogo-shell
Usage
Note: a Gogo shell must be running before invoking the connect method, otherwise a connection error will be thrown.
var GogoShell = require('gogo-shell');
var gogoShell = new GogoShell();
var config = {
port: 11311
};
gogoShell.connect(config)
.then(function() {
return gogoShell.sendCommand('lb');
})
.then(function(data) {
// Do something with response data
gogoShell.end();
});
API
GogoShell is an instance of net.Socket and inherits all it's properties, methods, and events.
new GogoShell([options])
options
Type: object
The GogoShell
constructor can also be passed the same configuration options as the net.Socket constructor.
debug
type: boolean
If set to true, prints all commands sent to the server, and all response data from the server to stdout.
examples
var GogoShell = require('gogo-shell');
var gogoShell = new GogoShell({
debug: true
});
connect([options])
Connects to a TCP server which allows you to send Gogo commands to an OSGi environment. Returns a Promise which resolves when the server is ready to receive commands.
options
Type: object
host
Type: string
Default: 127.0.0.1
port
Type: number
Required: true
See socket.connect method for other options and their default values.
examples
var GogoShell = require('gogo-shell');
var gogoShell = new GogoShell();
var config = {
port: 11311
};
gogoShell.connect(config)
.then(function() {
// gogoShell.sendCommand(...);
});
help([command])
Returns Promise that resolves with array of available commands, or object literal containing information on specified command.
command
Type: string
The Gogo command to retieve help info for.
examples
gogoShell.help()
.then(function(data) {
// data = array of available commands
});
gogoShell.help('install')
.then(function(data) {
// data = object literal containing api information for specified command
});
sendCommand(command, [options])
Sends Gogo command to an OSGi environment. Returns a Promise that resolves with the response data.
command
Type: string
The Gogo command that will be sent to the OSGi environment.
options
Type: string
Additional parameters, flags, and options that will be joined with the command argument.
examples
gogoShell.sendCommand('lb', '-s')
.then(function(data) {
// data = list of installed bundles with symbolic name
});
Chaining commands.
var GogoShell = require('gogo-shell');
var gogoShell = new GogoShell();
var config = {
port: 11311
};
gogoShell.connect(config)
.then(function() {
return gogoShell.sendCommand('lb');
})
.then(function(data) {
// data = response from 'lb'
return gogoShell.sendCommand('another command');
})
.then(function(data) {
// data = response from 'another command'
// Using socket.end for closing connection, otherwise Node process wouldn't end
gogoShell.end();
});
MIT