kopia lustrzana https://github.com/c9/core
44 wiersze
1.2 KiB
JavaScript
44 wiersze
1.2 KiB
JavaScript
|
var creationix = require('creationix');
|
||
|
var stack = require('stack');
|
||
|
var http = require('http');
|
||
|
var WebSocketServer = require('ws').Server
|
||
|
var spawn = require('child_process').spawn;
|
||
|
|
||
|
var Agent = require('smith').Agent;
|
||
|
var WebSocketTransport = require('smith').WebSocketTransport
|
||
|
|
||
|
|
||
|
var api = {
|
||
|
add: function (a, b, callback) {
|
||
|
callback(null, a + b);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
var server = http.createServer(stack(
|
||
|
creationix.log(),
|
||
|
creationix.static("/", __dirname + "/public")
|
||
|
));
|
||
|
|
||
|
var wss = new WebSocketServer({server: server});
|
||
|
wss.on("connection", function (websocket) {
|
||
|
var agent = new Agent(api);
|
||
|
agent.connect(new WebSocketTransport(websocket, true), function (err, browserAgent) {
|
||
|
if (err) throw err;
|
||
|
console.log({browserAgent:browserAgent});
|
||
|
});
|
||
|
});
|
||
|
|
||
|
server.listen(8080, function () {
|
||
|
var url = "http://localhost:" + server.address().port + "/index.html";
|
||
|
console.log(__dirname + "/phantom.js")
|
||
|
var env = Object.create(process.env);
|
||
|
env.URL = url;
|
||
|
console.log(url);
|
||
|
var phantom = spawn("phantomjs", [__dirname + "/phantom.js"], {env: env, customFds: [-1, 1, 2]});
|
||
|
phantom.on("exit", function (code, signal) {
|
||
|
if (code) throw new Error("Child died with code " + code);
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|