Processes requests and responses by using a Groovy script.

When a ScriptableFilter processes a request, it can execute return next.handle(context, request) to call the next filter or handler in the current chain and return the value from the call. Actions on the response must be performed in the Promise's callback methods.

Scripts must return a Promise<Response, NeverThrowsException> or a Response.

This section describes the usage of ScriptableFilter, and refers to the following sections of the documentation:


    "name": string,
    "type": "ScriptableFilter",
    "config": {
        "type": string,
        "file": expression,                     // Use either "file"
        "source": string or array of strings,   // or "source", but not both.
        "args": object,
        "clientHandler": Handler reference


For information about properties for ScriptableFilter, see Scripts.


See the following examples of scriptable filters:

  • For an example scriptable filter that recovers policy advices from AM, see the failureHandler property of "PolicyEnforcementFilter".

  • For an example scriptable filter that calls a groovy file to include headers for cross-origin requests in UMA, see "Setting Up the UMA Example".

Read a different version of :