in src/main/java/org/apache/sling/scripting/core/impl/ScriptingVariablesConsolePlugin.java [244:270]
private Bindings getBindingsByEngine(ScriptEngineFactory scriptEngineFactory, SlingHttpServletRequest request)
throws IOException {
String context = SlingScriptAdapterFactory.BINDINGS_CONTEXT; // use default context only
final Collection<BindingsValuesProvider> bindingsValuesProviders =
bindingsValuesProviderTracker.getBindingsValuesProviders(scriptEngineFactory, context);
Resource invalidScriptResource =
new NonExistingResource(request.getResourceResolver(), "some/invalid/scriptpath");
DefaultSlingScript defaultSlingScript = new DefaultSlingScript(
bundleContext,
invalidScriptResource,
scriptEngineFactory.getScriptEngine(),
bindingsValuesProviders,
null,
null);
// prepare the bindings (similar as in DefaultSlingScript#service)
final SlingBindings initalBindings = new SlingBindings();
initalBindings.setRequest(request);
initalBindings.setResponse(Builders.newResponseBuilder().build());
final Bindings bindings = defaultSlingScript.verifySlingBindings(initalBindings);
// only thing being added in {DefaultSlingScript#call(...)} is resource resolver
bindings.put(SlingScriptConstants.ATTR_SCRIPT_RESOURCE_RESOLVER, request.getResourceResolver());
return bindings;
}