in taverna-interaction-activity/src/main/resources/pmrpc.js [214:248]
function processPmrpcMessage(eventParams) {
var serviceCallEvent = eventParams.event;
var eventSource = eventParams.source;
var isWorkerComm = typeof eventSource !== "undefined" && eventSource !== null;
// if the message is not for pmrpc, ignore it.
if (serviceCallEvent.data.indexOf("pmrpc.") !== 0) {
return;
} else {
var message = decode(serviceCallEvent.data);
//if (typeof console !== "undefined" && console.log !== "undefined" && (typeof this.frames !== "undefined")) { console.log("Received:" + encode(message)); }
if (typeof message.method !== "undefined") {
// this is a request
// ako je
var newServiceCallEvent = {
data : serviceCallEvent.data,
source : isWorkerComm ? eventSource : serviceCallEvent.source,
origin : isWorkerComm ? "*" : serviceCallEvent.origin,
shouldCheckACL : !isWorkerComm
};
response = processJSONRpcRequest(message, newServiceCallEvent);
// return the response
if (response !== null) {
sendPmrpcMessage(
newServiceCallEvent.source, response, newServiceCallEvent.origin);
}
} else {
// this is a response
processJSONRpcResponse(message);
}
}
}