Class ScriptableHandler
- java.lang.Object
-
- org.forgerock.openig.script.AbstractScriptableHeapObject<Response>
-
- org.forgerock.openig.handler.ScriptableHandler
-
- All Implemented Interfaces:
Closeable,AutoCloseable,Handler
public class ScriptableHandler extends AbstractScriptableHeapObject<Response> implements Handler
A scriptable handler. This handler acts as a simple wrapper around the scripting engine. Scripts are provided with the bindings provided byAbstractScriptableHeapObjectplus :Contains also easy access to
attributesfrom theAttributesContext, e.g:attributes.user = "jackson", instead ofcontexts.attributes.attributes.user = "jackson".In the same way, it gives access to
sessionfrom theSessionContext, for example, you can use:session.put(...), instead ofcontexts.session.session.put(...).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classScriptableHandler.HeapletCreates and initializes a scriptable handler in a heap environment.-
Nested classes/interfaces inherited from class org.forgerock.openig.script.AbstractScriptableHeapObject
AbstractScriptableHeapObject.AbstractScriptableHeaplet<V>
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Promise<Response,NeverThrowsException>handle(Context context, Request request)-
Methods inherited from class org.forgerock.openig.script.AbstractScriptableHeapObject
close, runScript, runScriptAsync, setArgs, setClientHandler
-
-
-
-
Method Detail
-
handle
public Promise<Response,NeverThrowsException> handle(Context context, Request request)
Description copied from interface:HandlerReturns aPromiserepresenting the asynchronousResponseof the givenrequest. If any (asynchronous) processing goes wrong, the promise still contains aResponse(probably from the 4xx or 5xx status code family).A handler that doesn't hand-off the processing to another downstream handler is responsible for creating the response.
The returned
Promisecontains the response returned from the server as-is. This is responsibility of the handler to produce the appropriate error response (404, 500, ...) in case of processing error.Note: As of Promise 2.0 implementation, it is not permitted to throw any runtime exception here. Doing so produce unexpected behaviour (most likely a server-side hang of the processing thread).
-
-