{ "error": { "description": "Fatal error: error in exception handling while reporting exception.", "message": "Another service invoked by this service using intra-service communication resulted in an error. See details for involved request and resulting error. HTTP status code is dynamically inherited, but defaults to 500.", "details": { "serviceName": "error-reporting", "serviceURI": "https:\/\/error-reporting.api.ronald.katedevelopment.com\/register", "error": { "code": "KATE-ErrorHandler", "description": "See error details", "details": { "fatal": { "level": 3, "type": "ERROR:FATAL", "msg": "Trait \"KATEv2\\Commons\\KateAPI\\Authenticators\\AuthorizesOnPrivilegeCNF\" not found", "file": "\/app\/Commons\/KateAPI\/Authenticators\/NoAuth.php", "line": 22, "trace": [ "01: Error raised\n \\-> Line 0000 in \n(Skipped 3 internal calls)\n" ], "vars": [ 1, "Trait \"KATEv2\\Commons\\KateAPI\\Authenticators\\AuthorizesOnPrivilegeCNF\" not found", "\/app\/Commons\/KateAPI\/Authenticators\/NoAuth.php", 22 ], "code": { "17": " * what RequestProcessor gates on \u2014 while isAuthenticated() reports whether there is an identity", "18": " * behind the request, which for NoAuth there never is. Keeping isAuthenticated() false is what lets", "19": " * `if (!$auth->isAuthenticated())` guards in endpoint bodies keep working: before repeatable #[Auth]", "20": " * existed, an #[Auth(false)] route registered no authenticator at all and those guards saw null.", "21": " *\/", "22": "class NoAuth implements IAuth {", "23": " use AuthorizesOnPrivilegeCNF;", "24": "", "25": " public function __construct(?PrivilegeCNF $requiredFlags = null) {", "26": " $this->requiredFlags = $requiredFlags ?? PrivilegeCNF::none();", "27": " }" }, "mark": [] }, "preceding-non-fatal": [] } } }, "file": "\/app\/Commons\/KateIntraService\/Request.php", "line": 293, "trace": [ { "file": "\/app\/Commons\/KateAPI\/ErrorReporting\/ErrorReporting.php", "line": 273, "function": "execute", "class": "KATEv2\\Commons\\KateIntraService\\Request", "type": "->", "args": [] }, { "file": "\/app\/Commons\/KateAPI\/KateAPIRunner.php", "line": 197, "function": "reportException", "class": "KATEv2\\Commons\\KateAPI\\ErrorReporting\\ErrorReporting", "type": "::", "args": [ {}, {} ] }, { "function": "onKateErrorHandlerError", "class": "KATEv2\\Commons\\KateAPI\\KateAPIRunner", "type": "::", "args": [ { "fatal": { "errLevel": 2, "level": 2, "type": "WARNING:PHP", "msg": "Trying to access array offset on false", "file": "\/app\/Commons\/KateAPI\/Middleware\/AuthenticationMiddleware.php", "line": 32, "trace": [ "01: KATEv2\\Commons\\KateAPI\\KateAPIRunner->run()\n \\-> Line 0032 in \/app\/FluxNL\/bootstrapper.php", "02: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->run('[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0125 in \/app\/Commons\/KateAPI\/KateAPIRunner.php", "03: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->execute('0', '[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0017 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "04: KATEv2\\Commons\\KateAPI\\Middleware\\OptionsMiddleware->process('[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0025 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "05: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->{closure:KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline::execute():27}()\n \\-> Line 0019 in \/app\/Commons\/KateAPI\/Middleware\/OptionsMiddleware.php", "06: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->execute('1', '[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0027 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "07: KATEv2\\Commons\\KateAPI\\KateAPIRunner->{closure:KATEv2\\Commons\\KateAPI\\KateAPIRunner::run():125}()\n \\-> Line 0022 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "08: KATEv2\\Commons\\KateAPI\\RequestProcessor->process('[OBJECT]', '[OBJECT]')\n \\-> Line 0126 in \/app\/Commons\/KateAPI\/KateAPIRunner.php", "09: KATEv2\\Commons\\KateAPI\\RequestProcessor->processRequest('[OBJECT]', '[OBJECT]', '[ARRAY]')\n \\-> Line 0045 in \/app\/Commons\/KateAPI\/RequestProcessor.php", "10: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->run('[OBJECT]', '[OBJECT]')\n \\-> Line 0065 in \/app\/Commons\/KateAPI\/RequestProcessor.php", "11: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->execute('0', '[OBJECT]', '[OBJECT]', '')\n \\-> Line 0017 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "12: KATEv2\\Commons\\KateAPI\\Middleware\\PostProcessingMiddleware->process('[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0025 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "13: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->{closure:KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline::execute():27}()\n \\-> Line 0009 in \/app\/Commons\/KateAPI\/Middleware\/PostProcessingMiddleware.php", "14: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->execute('1', '[OBJECT]', '[OBJECT]', '')\n \\-> Line 0027 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "15: KATEv2\\Commons\\KateAPI\\Middleware\\FormatterMiddleware->process('[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0025 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "16: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->{closure:KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline::execute():27}()\n \\-> Line 0015 in \/app\/Commons\/KateAPI\/Middleware\/FormatterMiddleware.php", "17: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->execute('2', '[OBJECT]', '[OBJECT]', '')\n \\-> Line 0027 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "18: KATEv2\\Commons\\KateAPI\\Middleware\\AuthenticationMiddleware->process('[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0025 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "19: Error raised\n \\-> Line 0032 in \/app\/Commons\/KateAPI\/Middleware\/AuthenticationMiddleware.php\n(Skipped 2 internal calls)\n" ], "vars": [ 2, "Trying to access array offset on false", "\/app\/Commons\/KateAPI\/Middleware\/AuthenticationMiddleware.php", 32 ], "code": { "27": " $authenticated = false;", "28": " $firstFailure = null;", "29": "", "30": " foreach ($this->authEntries as $authEntry) {", "31": " \/** @var IAuth|string $authClass *\/", "32": " $authClass = $authEntry['authenticatorClass'];", "33": "", "34": " \/\/ The map stores arguments in the JSON-safe form the authenticator itself defined; only", "35": " \/\/ it knows how to turn them back into constructor arguments.", "36": " \/** @var IAuth $authenticator *\/", "37": " $authenticator = new $authClass(...$authClass::hydrateAttributeArguments($authEntry['arguments']));" }, "mark": [ "authClass", "authEntry" ] }, "preceding-non-fatal": [] } ] }, { "file": "\/app\/Commons\/KateErrorHandler\/ErrorHandler.php", "line": 346, "function": "call_user_func", "args": [ [ "KATEv2\\Commons\\KateAPI\\KateAPIRunner", "onKateErrorHandlerError" ], { "fatal": { "errLevel": 2, "level": 2, "type": "WARNING:PHP", "msg": "Trying to access array offset on false", "file": "\/app\/Commons\/KateAPI\/Middleware\/AuthenticationMiddleware.php", "line": 32, "trace": [ "01: KATEv2\\Commons\\KateAPI\\KateAPIRunner->run()\n \\-> Line 0032 in \/app\/FluxNL\/bootstrapper.php", "02: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->run('[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0125 in \/app\/Commons\/KateAPI\/KateAPIRunner.php", "03: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->execute('0', '[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0017 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "04: KATEv2\\Commons\\KateAPI\\Middleware\\OptionsMiddleware->process('[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0025 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "05: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->{closure:KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline::execute():27}()\n \\-> Line 0019 in \/app\/Commons\/KateAPI\/Middleware\/OptionsMiddleware.php", "06: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->execute('1', '[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0027 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "07: KATEv2\\Commons\\KateAPI\\KateAPIRunner->{closure:KATEv2\\Commons\\KateAPI\\KateAPIRunner::run():125}()\n \\-> Line 0022 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "08: KATEv2\\Commons\\KateAPI\\RequestProcessor->process('[OBJECT]', '[OBJECT]')\n \\-> Line 0126 in \/app\/Commons\/KateAPI\/KateAPIRunner.php", "09: KATEv2\\Commons\\KateAPI\\RequestProcessor->processRequest('[OBJECT]', '[OBJECT]', '[ARRAY]')\n \\-> Line 0045 in \/app\/Commons\/KateAPI\/RequestProcessor.php", "10: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->run('[OBJECT]', '[OBJECT]')\n \\-> Line 0065 in \/app\/Commons\/KateAPI\/RequestProcessor.php", "11: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->execute('0', '[OBJECT]', '[OBJECT]', '')\n \\-> Line 0017 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "12: KATEv2\\Commons\\KateAPI\\Middleware\\PostProcessingMiddleware->process('[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0025 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "13: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->{closure:KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline::execute():27}()\n \\-> Line 0009 in \/app\/Commons\/KateAPI\/Middleware\/PostProcessingMiddleware.php", "14: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->execute('1', '[OBJECT]', '[OBJECT]', '')\n \\-> Line 0027 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "15: KATEv2\\Commons\\KateAPI\\Middleware\\FormatterMiddleware->process('[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0025 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "16: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->{closure:KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline::execute():27}()\n \\-> Line 0015 in \/app\/Commons\/KateAPI\/Middleware\/FormatterMiddleware.php", "17: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->execute('2', '[OBJECT]', '[OBJECT]', '')\n \\-> Line 0027 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "18: KATEv2\\Commons\\KateAPI\\Middleware\\AuthenticationMiddleware->process('[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0025 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "19: Error raised\n \\-> Line 0032 in \/app\/Commons\/KateAPI\/Middleware\/AuthenticationMiddleware.php\n(Skipped 2 internal calls)\n" ], "vars": [ 2, "Trying to access array offset on false", "\/app\/Commons\/KateAPI\/Middleware\/AuthenticationMiddleware.php", 32 ], "code": { "27": " $authenticated = false;", "28": " $firstFailure = null;", "29": "", "30": " foreach ($this->authEntries as $authEntry) {", "31": " \/** @var IAuth|string $authClass *\/", "32": " $authClass = $authEntry['authenticatorClass'];", "33": "", "34": " \/\/ The map stores arguments in the JSON-safe form the authenticator itself defined; only", "35": " \/\/ it knows how to turn them back into constructor arguments.", "36": " \/** @var IAuth $authenticator *\/", "37": " $authenticator = new $authClass(...$authClass::hydrateAttributeArguments($authEntry['arguments']));" }, "mark": [ "authClass", "authEntry" ] }, "preceding-non-fatal": [] } ] }, { "file": "\/app\/Commons\/KateErrorHandler\/ErrorHandler.php", "line": 196, "function": "presentErrors", "class": "KATEv2\\Commons\\KateErrorHandler\\ErrorHandler", "type": "->", "args": [ { "errLevel": 2, "level": 2, "type": "WARNING:PHP", "msg": "Trying to access array offset on false", "file": "\/app\/Commons\/KateAPI\/Middleware\/AuthenticationMiddleware.php", "line": 32, "trace": "#01: KATEv2\\Commons\\KateAPI\\KateAPIRunner->run()\n \\-> Line 0032 in \/app\/FluxNL\/bootstrapper.php\n#02: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->run('[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0125 in \/app\/Commons\/KateAPI\/KateAPIRunner.php\n#03: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->execute('0', '[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0017 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php\n#04: KATEv2\\Commons\\KateAPI\\Middleware\\OptionsMiddleware->process('[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0025 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php\n#05: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->{closure:KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline::execute():27}()\n \\-> Line 0019 in \/app\/Commons\/KateAPI\/Middleware\/OptionsMiddleware.php\n#06: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->execute('1', '[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0027 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php\n#07: KATEv2\\Commons\\KateAPI\\KateAPIRunner->{closure:KATEv2\\Commons\\KateAPI\\KateAPIRunner::run():125}()\n \\-> Line 0022 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php\n#08: KATEv2\\Commons\\KateAPI\\RequestProcessor->process('[OBJECT]', '[OBJECT]')\n \\-> Line 0126 in \/app\/Commons\/KateAPI\/KateAPIRunner.php\n#09: KATEv2\\Commons\\KateAPI\\RequestProcessor->processRequest('[OBJECT]', '[OBJECT]', '[ARRAY]')\n \\-> Line 0045 in \/app\/Commons\/KateAPI\/RequestProcessor.php\n#10: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->run('[OBJECT]', '[OBJECT]')\n \\-> Line 0065 in \/app\/Commons\/KateAPI\/RequestProcessor.php\n#11: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->execute('0', '[OBJECT]', '[OBJECT]', '')\n \\-> Line 0017 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php\n#12: KATEv2\\Commons\\KateAPI\\Middleware\\PostProcessingMiddleware->process('[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0025 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php\n#13: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->{closure:KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline::execute():27}()\n \\-> Line 0009 in \/app\/Commons\/KateAPI\/Middleware\/PostProcessingMiddleware.php\n#14: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->execute('1', '[OBJECT]', '[OBJECT]', '')\n \\-> Line 0027 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php\n#15: KATEv2\\Commons\\KateAPI\\Middleware\\FormatterMiddleware->process('[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0025 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php\n#16: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->{closure:KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline::execute():27}()\n \\-> Line 0015 in \/app\/Commons\/KateAPI\/Middleware\/FormatterMiddleware.php\n#17: KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline->execute('2', '[OBJECT]', '[OBJECT]', '')\n \\-> Line 0027 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php\n#18: KATEv2\\Commons\\KateAPI\\Middleware\\AuthenticationMiddleware->process('[OBJECT]', '[OBJECT]', '[OBJECT]')\n \\-> Line 0025 in \/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php\n#19: Error raised\n \\-> Line 0032 in \/app\/Commons\/KateAPI\/Middleware\/AuthenticationMiddleware.php\n(Skipped 2 internal calls)\n", "vars": [ 2, "Trying to access array offset on false", "\/app\/Commons\/KateAPI\/Middleware\/AuthenticationMiddleware.php", 32 ], "code": { "27": " $authenticated = false;", "28": " $firstFailure = null;", "29": "", "30": " foreach ($this->authEntries as $authEntry) {", "31": " \/** @var IAuth|string $authClass *\/", "32": " $authClass = $authEntry['authenticatorClass'];", "33": "", "34": " \/\/ The map stores arguments in the JSON-safe form the authenticator itself defined; only", "35": " \/\/ it knows how to turn them back into constructor arguments.", "36": " \/** @var IAuth $authenticator *\/", "37": " $authenticator = new $authClass(...$authClass::hydrateAttributeArguments($authEntry['arguments']));" }, "mark": [ "authClass", "authEntry" ] } ] }, { "file": "\/app\/Commons\/KateAPI\/Middleware\/AuthenticationMiddleware.php", "line": 32, "function": "onError", "class": "KATEv2\\Commons\\KateErrorHandler\\ErrorHandler", "type": "->", "args": [ 2, "Trying to access array offset on false", "\/app\/Commons\/KateAPI\/Middleware\/AuthenticationMiddleware.php", 32 ] }, { "file": "\/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "line": 25, "function": "process", "class": "KATEv2\\Commons\\KateAPI\\Middleware\\AuthenticationMiddleware", "type": "->", "args": [ {}, {}, {} ] }, { "file": "\/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "line": 27, "function": "execute", "class": "KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline", "type": "->", "args": [ 2, {}, {}, null ] }, { "file": "\/app\/Commons\/KateAPI\/Middleware\/FormatterMiddleware.php", "line": 15, "function": "{closure:KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline::execute():27}", "class": "KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline", "type": "->", "args": [] }, { "file": "\/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "line": 25, "function": "process", "class": "KATEv2\\Commons\\KateAPI\\Middleware\\FormatterMiddleware", "type": "->", "args": [ {}, {}, {} ] }, { "file": "\/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "line": 27, "function": "execute", "class": "KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline", "type": "->", "args": [ 1, {}, {}, null ] }, { "file": "\/app\/Commons\/KateAPI\/Middleware\/PostProcessingMiddleware.php", "line": 9, "function": "{closure:KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline::execute():27}", "class": "KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline", "type": "->", "args": [] }, { "file": "\/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "line": 25, "function": "process", "class": "KATEv2\\Commons\\KateAPI\\Middleware\\PostProcessingMiddleware", "type": "->", "args": [ {}, {}, {} ] }, { "file": "\/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "line": 17, "function": "execute", "class": "KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline", "type": "->", "args": [ 0, {}, {}, null ] }, { "file": "\/app\/Commons\/KateAPI\/RequestProcessor.php", "line": 65, "function": "run", "class": "KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline", "type": "->", "args": [ {}, {} ] }, { "file": "\/app\/Commons\/KateAPI\/RequestProcessor.php", "line": 45, "function": "processRequest", "class": "KATEv2\\Commons\\KateAPI\\RequestProcessor", "type": "->", "args": [ {}, {}, { "method": "GET", "path": "\/", "name": "api-map", "description": "Provides the API-specification. Only enabled if API exposure is enabled.", "uriParameters": null, "hidden": false, "group": "Default APIs", "target": [ "KATEv2\\Commons\\KateAPI\\DefaultAPIs\\APIDocAPI", "apiMap", [ "format", "openApiVersion" ] ], "auth": { "required": false, "authenticatorClass": null, "requiredFlags": [], "details": null }, "parameters": { "format": { "name": "format", "types": "string", "description": "Documentation format. We support KateAPI documentation, Swagger\/OpenAPI documentation and raw output of the internal API-map cache.", "default": "KateAPI", "requirements": { "enum": [ "KateAPI", "InternalAPIMap", "OpenAPI", "Swagger" ] } }, "openApiVersion": { "name": "openApiVersion", "types": "int", "description": "Version 3 is crappy with request bodies, so we prefer version 2 (which only sucks regarding Response definitions; hence we prefer KateAPI documentation).", "default": 2, "requirements": { "enum": [ 2, 3 ] } } }, "result": { "type": "object", "description": "The API-documentation.", "httpCode": 200 }, "errors": { "MissingRequiredParameterException": { "what": "MissingRequiredParameterException", "when": "The request is missing a required input parameter. See details for involved parameter.", "httpCode": 400 }, "InvalidParameterException": { "what": "InvalidParameterException", "when": "The request has an invalid argument. See details for involved parameter and invalidation.", "httpCode": 400 }, "AuthenticationFailedException": { "what": "AuthenticationFailedException", "when": "Authentication failed. Re-authenticate and retry. See error details for details.", "httpCode": 401 }, "UnauthorizedException": { "what": "UnauthorizedException", "when": "Authorization for requested method rejected. See error details for details.", "httpCode": 403 } }, "matchURI": "\/^\\\/$\/" } ] }, { "file": "\/app\/Commons\/KateAPI\/KateAPIRunner.php", "line": 126, "function": "process", "class": "KATEv2\\Commons\\KateAPI\\RequestProcessor", "type": "->", "args": [ {}, {} ] }, { "file": "\/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "line": 22, "function": "{closure:KATEv2\\Commons\\KateAPI\\KateAPIRunner::run():125}", "class": "KATEv2\\Commons\\KateAPI\\KateAPIRunner", "type": "->", "args": [] }, { "file": "\/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "line": 27, "function": "execute", "class": "KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline", "type": "->", "args": [ 1, {}, {}, {} ] }, { "file": "\/app\/Commons\/KateAPI\/Middleware\/OptionsMiddleware.php", "line": 19, "function": "{closure:KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline::execute():27}", "class": "KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline", "type": "->", "args": [] }, { "file": "\/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "line": 25, "function": "process", "class": "KATEv2\\Commons\\KateAPI\\Middleware\\OptionsMiddleware", "type": "->", "args": [ {}, {}, {} ] }, { "file": "\/app\/Commons\/KateAPI\/Middleware\/MiddlewarePipeline.php", "line": 17, "function": "execute", "class": "KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline", "type": "->", "args": [ 0, {}, {}, {} ] }, { "file": "\/app\/Commons\/KateAPI\/KateAPIRunner.php", "line": 125, "function": "run", "class": "KATEv2\\Commons\\KateAPI\\Middleware\\MiddlewarePipeline", "type": "->", "args": [ {}, {}, {} ] }, { "file": "\/app\/FluxNL\/bootstrapper.php", "line": 32, "function": "run", "class": "KATEv2\\Commons\\KateAPI\\KateAPIRunner", "type": "->", "args": [] } ], "code": 0 } }