@studiolabs/strong-remoting
Version:
StrongLoop Remoting Module
44 lines (32 loc) • 1.08 kB
JavaScript
// Copyright IBM Corp. 2013,2016. All Rights Reserved.
// Node module: strong-remoting
// This file is licensed under the Artistic License 2.0.
// License text available at https://opensource.org/licenses/Artistic-2.0
;
// create a set of shared classes
var remotes = require('../../').create();
// share some fs module code
var fs = remotes.exports.fs = require('fs');
// specifically the readFile function
fs.readFile.shared = true;
// describe the arguments
fs.readFile.accepts = {arg: 'path', type: 'string'};
// describe the result
fs.readFile.returns = {arg: 'data', type: 'buffer'};
// event emitter
var EventEmitter = require('events').EventEmitter;
var ee = remotes.exports.ee = new EventEmitter();
// expose the on method
ee.on.shared = true;
ee.on.accepts = {arg: 'event', type: 'string'};
ee.on.returns = {arg: 'data', type: 'object'};
setInterval(function() {
// emit some data
ee.emit('foo', {some: 'data'});
}, 1000);
// expose it over http
var server =
require('http')
.createServer()
.listen(3000);
remotes.handler('socket-io', server);