Package org.forgerock.openig.handler
Class SequenceHandler
- java.lang.Object
-
- org.forgerock.openig.handler.SequenceHandler
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SequenceHandler.Heaplet
Creates and initializes a sequence handler in a heap environment.
-
Constructor Summary
Constructors Constructor Description SequenceHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SequenceHandler
addBinding(Handler handler, Expression<Boolean> postcondition)
Binds sequenced handlers with sequence processing postconditions.Promise<Response,NeverThrowsException>
handle(Context context, Request request)
-
-
-
Method Detail
-
addBinding
public SequenceHandler addBinding(Handler handler, Expression<Boolean> postcondition)
Binds sequenced handlers with sequence processing postconditions.- Parameters:
handler
- The name of the handler heap object to dispatch to if the associated condition yields true.postcondition
- evaluated to determine if sequence continues (default:null
a.k.a. unconditional)- Returns:
- The current dispatch handler.
-
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).
-
-