Nextcloud PHP API (stable18)

Middleware

Middleware is used to provide hooks before or after controller methods and deal with possible exceptions raised in the controller methods.

They're modeled after Django's middleware system: https://docs.djangoproject.com/en/dev/topics/http/middleware/

Tags
since
6.0.0

Table of Contents

afterController()  : 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
afterException()  : Response
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.
beforeController()  : mixed
This is being run in normal order before the controller is being called which allows several modifications and checks
beforeOutput()  : string
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

Methods

afterController()

This is being run after a successful controllermethod call and allows the manipulation of a Response object. The middleware is run in reverse order

public afterController(Controller $controller, string $methodName, Response $response) : Response
Parameters
$controller : Controller

the controller that is being called

$methodName : string

the name of the method that will be called on the controller

$response : Response

the generated response from the controller

Tags
since
6.0.0
Return values
Response

a Response object

afterException()

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.

public afterException(Controller $controller, string $methodName, Exception $exception) : Response

If the response is null, it is assumed that the exception could not be handled and the error will be thrown again

Parameters
$controller : 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

Tags
throws
Exception

the passed in exception if it can't handle it

since
6.0.0
Return values
Response

a Response object in case that the exception was handled

beforeController()

This is being run in normal order before the controller is being called which allows several modifications and checks

public beforeController(Controller $controller, string $methodName) : mixed
Parameters
$controller : Controller

the controller that is being called

$methodName : string

the name of the method that will be called on the controller

Tags
since
6.0.0
Return values
mixed

beforeOutput()

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

public beforeOutput(Controller $controller, string $methodName, string $output) : string
Parameters
$controller : 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

Tags
since
6.0.0
Return values
string

the output that should be printed

Search results