Wondering what’s next for npm?Check out our public roadmap! »

    gogo-shell

    0.0.5 • Public • Published

    gogo-shell Build Status Coverage Status

    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

    Install

    npm i gogo-shell

    DownloadsWeekly Downloads

    953

    Version

    0.0.5

    License

    MIT

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar