JavaScript Workspace
X
+
Menu
// all this code is evaluated in the server context!
// try to print it:
process.env.WORKSPACE_LK
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ServerWorkspace -- https://lively-web.org/nodejs/NodeJSEvalServer/
X

Menu
AuthServer
ClojureServer
CommandLineServer
DirectoryWatchServer
DownloadDirServer
FRPPubSubServer
GithubOAuth
HaskellServer
IDESupportServer
LivelyServices
LogServer
NodeJSEvalServer
ObjectRepositoryServer
OptimizedLoadingServer
PythonSubserver
QBFScoresServer
RServer
SQLiteServer
SessionTracker
UploadServer
WebSocketExample
RServer is running at /nodejs/RServer/

+
-
open log
thenDo(null, JSON.parse(content));
} catch(err) {
thenDo(String(err));
}
});
});
});
}
function stopSubprocess(rState, options, id, thenDo) {
var code = util.format("LivelyREvaluate::stopEvaluation('%s')", id);
withLivelyREvaluateDo(rState, options, code, thenDo);
}
function cleanup(subserver) {
console.log('RServer is shutting down...');
if (state.process) state.process.kill();
subserver && subserver.removeAllListeners();
state = {};
}
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
module.exports = domain.bind(function(route, app, subserver) {
subserver.on('close', cleanup.bind(null, subserver));
app.post(route+'eval', function(req, res) {
var expr = req.body && req.body.expr,
timeout = req.body && req.body.timeout;
if (!expr) {
var msg = {error: 'Cannot deal with request', message: 'No expression'};
res.status(400).json(msg).end();
return;
}
evalRExpression(state, {timeout: timeout}, expr, function(err, output) {
if (err) { res.status(500).json({error: String(err)}).end(); return; }
res.json({result: output}).end();
});
});
app.post(route+'evalAsync', function(req, res) {
var expr = req.body && req.body.expr,
id = req.body && req.body.id,
timeout = req.body && req.body.timeout,
exit = req.body && req.body.exit,
debug = req.body && req.body.debug;
if (!expr || !id) {
var msg = {error: 'Cannot deal with request', message: 'No expression or id'};
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
SubserverViewer
X

Menu
Username changed! You are logged in as robertkrahn switch user Refresh
Login info
X

Menu
// changed at Wed Mar 19 2014 13:58:56 GMT-0700 (Pacific Daylight Time) by robertkrahn
this.addScript(function rotate() {
this.rotateBy(0.1);
});
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<lively.morphic.Box#4007F... - RotatingRectangle>
Tag:
run
save
debug next call
past saves...
-- ALL --
rotate
Scripts
-
+
-
Connections
+
-- ALL --
all
ObjectEditor -- RotatingRectangle>>rotate
X

Menu
depth: 1
reset
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
doit
JavaScript Workspace
X

Menu