1.1.0 • Published 6 years ago

hoplite v1.1.0

Weekly downloads
1
License
ISC
Repository
github
Last release
6 years ago

Hoplite Build Status

Plugin server

Server

const hoplite = require('hoplite');

const app = hoplite.createServer({
    'settings.hoplite.access.enabled': true,
    'settings.hoplite.acccess.port': 31234
});

app.use((context, next) => {
    const logger = context.get('logger');
    const bus = context.get('bus');

    logger.trace('init plugin 1');

    const reverse = s => s.split('').reverse().join('');

    for (let i = 0; i < 10; i++) {
        bus.register('ping', s => Promise.resolve(`handler #${i} => ` + reverse(s)));
    }

    logger.trace('done plugin 1');

    return next();
});

app.use((context, next) => {
    const logger = context.get('logger');
    const bus = context.get('bus');

    logger.trace('init plugin 2');

    const ping = () => {
        bus.request('ping', 'Hello world!!!')
            .then(result => logger.info(result))
            .catch(ex => logger.error(ex));
    };

    bus.register('APP_START', () => setInterval(ping, 1000));

    logger.trace('done plugin 2');

    return next();
});

app.start();

process.once('SIGINT', () => app.stop());

Run demo

$ npm run demo
3/16/2018 11:22:03 AM	INFO	server is starting...
3/16/2018 11:22:03 AM	INFO	hoplite-access plugin is starting
3/16/2018 11:22:03 AM	TRACE	init plugin 1
3/16/2018 11:22:03 AM	TRACE	done plugin 1
3/16/2018 11:22:03 AM	TRACE	init plugin 2
3/16/2018 11:22:03 AM	TRACE	done plugin 2
3/16/2018 11:22:03 AM	INFO	hoplite-access server is running on port 31234
3/16/2018 11:22:04 AM	INFO	handler #1 => !!!dlrow olleH
3/16/2018 11:22:05 AM	INFO	handler #2 => !!!dlrow olleH
3/16/2018 11:22:06 AM	INFO	handler #3 => !!!dlrow olleH
3/16/2018 11:22:06 AM	DEBUG	hoplite-access plugin - request from 127.0.0.1
3/16/2018 11:22:06 AM	DEBUG	send request to ping
3/16/2018 11:22:07 AM	INFO	handler #5 => !!!dlrow olleH
3/16/2018 11:22:08 AM	INFO	handler #6 => !!!dlrow olleH
3/16/2018 11:22:09 AM	DEBUG	hoplite-access plugin - request from 127.0.0.1
3/16/2018 11:22:09 AM	DEBUG	send broadcast to ping
3/16/2018 11:22:09 AM	INFO	handler #7 => !!!dlrow olleH
3/16/2018 11:22:10 AM	INFO	handler #8 => !!!dlrow olleH
3/16/2018 11:22:11 AM	INFO	handler #9 => !!!dlrow olleH
3/16/2018 11:22:12 AM	INFO	handler #0 => !!!dlrow olleH
3/16/2018 11:22:13 AM	INFO	handler #1 => !!!dlrow olleH
3/16/2018 11:22:14 AM	INFO	handler #2 => !!!dlrow olleH
3/16/2018 11:22:15 AM	INFO	handler #3 => !!!dlrow olleH
3/16/2018 11:22:16 AM	INFO	handler #4 => !!!dlrow olleH

hoplite-access plugin

Simple plugin for send bus request or broadcast from outside server

Bus Request example

curl -XPOST  http://localhost:31234/ping -d 'Hello world 123'
curl -XPOST  http://localhost:31234/request/ping -d 'Hello world 123'
handler #2 => 321 dlrow olleH

Bus Broadcast example

$ curl -XPOST  http://localhost:31234/broadcast/ping -d 'Hello world 123'
["handler #5 => 321 dlrow olleH","handler #1 => 321 dlrow olleH","handler #2 => 321 dlrow olleH","handler #3 => 321 dlrow olleH","handler #4 => 321 dlrow olleH"]

Simple web access

http://localhost:31234/

npm.io

1.1.0

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago