浏览代码

支持`asm`分支`DEBUG`

mxd 3 年之前
父节点
当前提交
c6b1b5c40c

+ 3 - 2
magic-api/src/main/java/org/ssssssss/magicapi/controller/RequestHandler.java

@@ -255,8 +255,9 @@ public class RequestHandler extends MagicController {
 
 	private Object invokeRequest(RequestEntity requestEntity) throws Throwable {
 		try {
-			MagicScriptContext.set(requestEntity.getMagicScriptContext());
-			Object result = ScriptManager.executeScript(requestEntity.getApiInfo().getScript(), requestEntity.getMagicScriptContext());
+			MagicScriptContext context = requestEntity.getMagicScriptContext();
+			MagicScriptContext.set(context);
+			Object result = ScriptManager.executeScript(requestEntity.getApiInfo().getScript(), context);
 			Object value = result;
 			// 执行后置拦截器
 			if ((value = doPostHandle(requestEntity, value)) != null) {

+ 2 - 1
magic-api/src/main/java/org/ssssssss/magicapi/script/ScriptManager.java

@@ -5,6 +5,7 @@ import org.ssssssss.magicapi.exception.MagicAPIException;
 import org.ssssssss.magicapi.utils.MD5Utils;
 import org.ssssssss.script.MagicScript;
 import org.ssssssss.script.MagicScriptContext;
+import org.ssssssss.script.MagicScriptDebugContext;
 
 import javax.script.*;
 
@@ -53,7 +54,7 @@ public class ScriptManager {
 		simpleScriptContext.setAttribute(MagicScript.CONTEXT_ROOT, context, ScriptContext.ENGINE_SCOPE);
 		// 执行脚本
 		try {
-			return compile("MagicScript", script).eval(simpleScriptContext);
+			return compile("MagicScript", (context instanceof MagicScriptDebugContext ? MagicScript.DEBUG_MARK: "") +script).eval(simpleScriptContext);
 		} catch (ScriptException e) {
 			throw new MagicAPIException(e.getMessage(), e);
 		} finally {