Determine whether to process a request.
Determine whether to process a request. This is the main method than an ActionFilter has to implement. It can decide to immediately intercept the request and return a Result (Some), or continue processing (None).
the input request
An optional Result with which to abort the request
Compose this ActionFunction with another, with this one applied first.
Compose this ActionFunction with another, with this one applied first.
ActionFunction with which to compose
The new ActionFunction
Compose another ActionFunction with this one, with this one applied last.
Compose another ActionFunction with this one, with this one applied last.
ActionFunction with which to compose
The new ActionFunction
Get the execution context to run the request in.
Get the execution context to run the request in. Override this if you want a custom execution context
The execution context
Invoke the block.
Invoke the block. This is the main method that an ActionBuilder has to implement, at this stage it can wrap it in any other actions, modify the request object or potentially use a different class to represent the request.
The request
The block of code to invoke
A future of the result
Determine how to process a request.
Determine how to process a request. This is the main method than an ActionRefiner has to implement. It can decide to immediately intercept the request and return a Result (Left), or continue processing with a new parameter of type P (Right).
the input request
Either a result or a new parameter to pass to the Action block
A simple kind of ActionRefiner which, given a request (of type R), may either immediately produce a Result (for example, an error), or continue its Action block with the same request. The critical (abstract) function is filter.