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 byAbstractScriptableHeapObject
plus :Contains also easy access to
attributes
from theAttributesContext
, e.g:attributes.user = "jackson"
, instead ofcontexts.attributes.attributes.user = "jackson"
.In the same way, it gives access to
session
from theSessionContext
, for example, you can use:session.put(...)
, instead ofcontexts.session.session.put(...)
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ScriptableHandler.Heaplet
Creates 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:Handler
Returns aPromise
representing the asynchronousResponse
of 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
Promise
contains 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).
-
-