|
@@ -3,6 +3,7 @@ package org.ssssssss.magicapi.task.web;
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
import org.ssssssss.magicapi.core.config.MagicConfiguration;
|
|
|
+import org.ssssssss.magicapi.core.config.WebSocketSessionManager;
|
|
|
import org.ssssssss.magicapi.core.logging.MagicLoggerContext;
|
|
|
import org.ssssssss.magicapi.core.model.DebugRequest;
|
|
|
import org.ssssssss.magicapi.core.model.JsonBean;
|
|
@@ -28,11 +29,14 @@ public class MagicTaskController extends MagicController implements MagicExcepti
|
|
|
String script = entity.getScript();
|
|
|
DebugRequest debugRequest = DebugRequest.create(request);
|
|
|
MagicLoggerContext.SESSION.set(debugRequest.getRequestedClientId());
|
|
|
+ String sessionAndScriptId = debugRequest.getRequestedClientId() + debugRequest.getRequestedScriptId();
|
|
|
try {
|
|
|
MagicScriptDebugContext magicScriptContext = debugRequest.createMagicScriptContext(configuration.getDebugTimeout());
|
|
|
+ WebSocketSessionManager.addMagicScriptContext(sessionAndScriptId, magicScriptContext);
|
|
|
magicScriptContext.setScriptName(MagicConfiguration.getMagicResourceService().getScriptName(entity));
|
|
|
return new JsonBean<>(ScriptManager.executeScript(script, magicScriptContext));
|
|
|
} finally {
|
|
|
+ WebSocketSessionManager.removeMagicScriptContext(sessionAndScriptId);
|
|
|
MagicLoggerContext.SESSION.remove();
|
|
|
}
|
|
|
}
|