Package org.forgerock.openig.handler
Class StaticResponseHandler
java.lang.Object
org.forgerock.openig.handler.StaticResponseHandler
- All Implemented Interfaces:
Handler
Creates a static HTTP response.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Creates and initializes a static response handler in a heap environment. -
Constructor Summary
ConstructorDescriptionStaticResponseHandler
(Status status) Constructor.StaticResponseHandler
(Status status, Expression<String> entity) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionaddHeader
(String key, Expression<String> expression) Adds a pair key / expression to the header.addTrailer
(String key, Expression<String> expression) Adds a pair key / expression to the trailer.
-
Constructor Details
-
StaticResponseHandler
Constructor.- Parameters:
status
- The response status to set.
-
StaticResponseHandler
Constructor.- Parameters:
status
- The response status to set.entity
- The message entity expression.
-
-
Method Details
-
addHeader
Adds a pair key / expression to the header.- Parameters:
key
- The header key.expression
- The expression to evaluate.- Returns:
- The current static response handler.
-
addTrailer
Adds a pair key / expression to the trailer.- Parameters:
key
- The trailer key.expression
- The expression to evaluate.- Returns:
- The current static response handler.
-
handle
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).
-