Class PingOneProtectThreatLevelRoutingHandler

java.lang.Object
org.forgerock.openig.ping.protect.PingOneProtectThreatLevelRoutingHandler
All Implemented Interfaces:
Handler

public class PingOneProtectThreatLevelRoutingHandler extends Object implements Handler
The PingOneProtectThreatLevelRoutingHandler routes the request to one of the configured handlers, based on the PingOneProtectEvaluationContext's level, captured during evaluation.
 {
      "type": "PingOneProtectThreatLevelRoutingHandler",
      "config": {
         "levels"         : { object                       [REQUIRED - Mapping of evaluation level to the handler
                                                                       responsible for handling it.]
           "low"            :   Config Expression<String>  [REQUIRED - Handler responsible for low-risk requests.]
           "medium"         :   Config Expression<String>  [REQUIRED - Handler responsible for medium-risk requests.]
           "high"           :   Config Expression<String>  [REQUIRED - Handler responsible for high-risk requests.]
         }
      }
  }
  
 
The example configuration below is configured to support evaluation levels "LOW", "MEDIUM" and "HIGH", routing the request to the corresponding 'handler':
 {
     "name" : "evaluationRoutingHandler",
     "type" : "PingOneProtectThreatLevelRoutingHandler",
     "config" : {
       "levels" : {
         "low": "passthroughHandler"
         "medium": "mediumRiskHandler"
         "high": "highRiskHandler"
       }
     }
 }
 
 
See Also:
  • Method Details

    • handle

      public Promise<Response,NeverThrowsException> handle(Context context, Request request)
      Description copied from interface: Handler
      Returns a Promise representing the asynchronous Response of the given request. If any (asynchronous) processing goes wrong, the promise still contains a Response (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).

      Specified by:
      handle in interface Handler
      Parameters:
      context - The request context.
      request - The request.
      Returns:
      A Promise representing the response to be returned to the caller.