mirror of
https://github.com/PlaceholderAPI/Javascript-Expansion.git
synced 2025-05-23 10:39:04 +00:00
Add in sandbox for Nashorn
This commit is contained in:
parent
1b89f773f2
commit
77c75be5e0
@ -1,7 +1,5 @@
|
||||
package com.extendedclip.papi.expansion.javascript.evaluator;
|
||||
|
||||
import com.koushikdutta.quack.QuackContext;
|
||||
import org.openjdk.nashorn.api.scripting.NashornScriptEngine;
|
||||
import org.openjdk.nashorn.api.scripting.NashornScriptEngineFactory;
|
||||
|
||||
import javax.script.Bindings;
|
||||
@ -9,7 +7,6 @@ import javax.script.ScriptContext;
|
||||
import javax.script.ScriptEngine;
|
||||
import javax.script.ScriptException;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
public final class NashornScriptEvaluator implements ScriptEvaluator {
|
||||
private final NashornScriptEngineFactory scriptEngineFactory;
|
||||
@ -22,7 +19,7 @@ public final class NashornScriptEvaluator implements ScriptEvaluator {
|
||||
|
||||
@Override
|
||||
public Object execute(final Map<String, Object> additionalBindings, final String script) throws EvaluatorException, ScriptException {
|
||||
final ScriptEngine engine = scriptEngineFactory.getScriptEngine();
|
||||
final ScriptEngine engine = scriptEngineFactory.getScriptEngine("--no-java");
|
||||
final Bindings globalBindings = engine.getBindings(ScriptContext.ENGINE_SCOPE);
|
||||
globalBindings.putAll(bindings);
|
||||
globalBindings.putAll(additionalBindings);
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.extendedclip.papi.expansion.javascript.evaluator;
|
||||
|
||||
import com.koushikdutta.quack.*;
|
||||
import com.koushikdutta.quack.JavaScriptObject;
|
||||
import com.koushikdutta.quack.QuackContext;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
@ -3,19 +3,14 @@ package com.extendedclip.papi.expansion.javascript.evaluator;
|
||||
import com.extendedclip.papi.expansion.javascript.evaluator.util.InjectionUtil;
|
||||
|
||||
import javax.script.ScriptException;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.*;
|
||||
import java.nio.channels.Channels;
|
||||
import java.nio.channels.FileChannel;
|
||||
import java.nio.channels.ReadableByteChannel;
|
||||
import java.nio.file.StandardOpenOption;
|
||||
import java.net.URISyntaxException;
|
||||
import java.net.URL;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.*;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.jar.JarFile;
|
||||
import java.util.zip.ZipEntry;
|
||||
|
||||
public final class QuickJsScriptEvaluatorFactory implements ScriptEvaluatorFactory {
|
||||
private static final String TEST_EVALUATION_SCRIPT = "10 * 10";
|
||||
|
Loading…
x
Reference in New Issue
Block a user