MiddlewareDispatcher

class OC\AppFramework\Middleware\MiddlewareDispatcher
This class is used to store and run all the middleware in correct order
Source:lib/private/AppFramework/Middleware/MiddlewareDispatcher.php#42

Properties

Methods

public OC\AppFramework\Middleware\MiddlewareDispatcher::__construct()
Constructor
Source:lib/private/AppFramework/Middleware/MiddlewareDispatcher.php#59
public OC\AppFramework\Middleware\MiddlewareDispatcher::registerMiddleware($middleWare)
Adds a new middleware
Source:

lib/private/AppFramework/Middleware/MiddlewareDispatcher.php#69

Parameters:
public OC\AppFramework\Middleware\MiddlewareDispatcher::getMiddlewares()
returns an array with all middleware elements
Source:lib/private/AppFramework/Middleware/MiddlewareDispatcher.php#78
Returns:array the middlewares
public OC\AppFramework\Middleware\MiddlewareDispatcher::beforeController($controller, $methodName)
This is being run in normal order before the controller is being
called which allows several modifications and checks
Source:

lib/private/AppFramework/Middleware/MiddlewareDispatcher.php#91

Parameters:
  • $controller (OCP\AppFramework\Controller) the controller that is being called
  • $methodName (string) the name of the method that will be called on

the controller

public OC\AppFramework\Middleware\MiddlewareDispatcher::afterException($controller, $methodName, $exception)
This is being run when either the beforeController method or the
controller method itself is throwing an exception. The middleware is asked
in reverse order to handle the exception and to return a response.
If the response is null, it is assumed that the exception could not be
handled and the error will be thrown again
Source:

lib/private/AppFramework/Middleware/MiddlewareDispatcher.php#118

Parameters:
  • $controller (OCP\AppFramework\Controller) the controller that is being called
  • $methodName (string) the name of the method that will be called on

the controller * $exception (Exception) the thrown exception

Returns:

\OCP\AppFramework\Http\Response a Response object if the middleware can handle the exception

Throws:

\Exception the passed in exception if it can’t handle it

public OC\AppFramework\Middleware\MiddlewareDispatcher::afterController($controller, $methodName, $response)
This is being run after a successful controllermethod call and allows
the manipulation of a Response object. The middleware is run in reverse order
Source:

lib/private/AppFramework/Middleware/MiddlewareDispatcher.php#141

Parameters:
  • $controller (OCP\AppFramework\Controller) the controller that is being called
  • $methodName (string) the name of the method that will be called on

the controller * $response (OCP\AppFramework\Http\Response) the generated response from the controller

Returns:

\OCP\AppFramework\Http\Response a Response object

public OC\AppFramework\Middleware\MiddlewareDispatcher::beforeOutput($controller, $methodName, $output)
This is being run after the response object has been rendered and
allows the manipulation of the output. The middleware is run in reverse order
Source:

lib/private/AppFramework/Middleware/MiddlewareDispatcher.php#160

Parameters:
  • $controller (OCP\AppFramework\Controller) the controller that is being called
  • $methodName (string) the name of the method that will be called on

the controller * $output (string) the generated output from a response

Returns:

string the output that should be printed