{"record":{"id":"688580eabe7bd6ad","repo":"slimphp/Slim","slug":"request-body-media-type-parser-return-value-must-b","errorCode":null,"errorMessage":"Request body media type parser return value must be an array, an object, or null","messagePattern":"Request body media type parser return value must be an array, an object, or null","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"Slim/Middleware/BodyParsingMiddleware.php","lineNumber":163,"sourceCode":"        if ($mediaType === null) {\n            return null;\n        }\n\n        // Check if this specific media type has a parser registered first\n        if (!isset($this->bodyParsers[$mediaType])) {\n            // If not, look for a media type with a structured syntax suffix (RFC 6839)\n            $parts = explode('+', $mediaType);\n            if (count($parts) >= 2) {\n                $mediaType = 'application/' . $parts[count($parts) - 1];\n            }\n        }\n\n        if (isset($this->bodyParsers[$mediaType])) {\n            $body = (string)$request->getBody();\n            $parsed = $this->bodyParsers[$mediaType]($body);\n\n            if ($parsed !== null && !is_object($parsed) && !is_array($parsed)) {\n                throw new RuntimeException(\n                    'Request body media type parser return value must be an array, an object, or null'\n                );\n            }\n\n            return $parsed;\n        }\n\n        return null;\n    }\n\n    /**\n     * @return string|null The serverRequest media type, minus content-type params\n     */\n    protected function getMediaType(ServerRequestInterface $request): ?string\n    {\n        $contentType = $request->getHeader('Content-Type')[0] ?? null;\n\n        if (is_string($contentType) && trim($contentType) !== '') {","sourceCodeStart":145,"sourceCodeEnd":181,"githubUrl":"https://github.com/slimphp/Slim/blob/80900fb39cafce3ae53b18a2c4f642a122f03095/Slim/Middleware/BodyParsingMiddleware.php#L145-L181","documentation":"Error \"Request body media type parser return value must be an array, an object, or null\" thrown in slimphp/Slim.","triggerScenarios":"Thrown at Slim/Middleware/BodyParsingMiddleware.php:163 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"80900fb39cafce3ae53b18a2c4f642a122f03095","analyzedAt":"2026-08-21T01:41:09.580Z","schemaVersion":2},"datasetVersion":"2026-08-21T03:17:12.404Z"}