From de136ea2be9eb2c7f10b65bc02c7ef8e1d2214cf Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+studip@gmail.com>
Date: Tue, 1 Oct 2024 09:09:19 +0000
Subject: [PATCH] rework JsonApiController::doesRequestHaveBody() by checking
 for Content-Length...

Closes #4652

Merge request studip/studip!3462
---
 lib/classes/JsonApi/JsonApiController.php | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/lib/classes/JsonApi/JsonApiController.php b/lib/classes/JsonApi/JsonApiController.php
index a60c0e20aba..cece86aeefd 100644
--- a/lib/classes/JsonApi/JsonApiController.php
+++ b/lib/classes/JsonApi/JsonApiController.php
@@ -402,7 +402,7 @@ class JsonApiController
         $request = $this->container->get('request');
         if ($this->doesRequestHaveBody($request)) {
             $contentType = $request->getHeader(HeaderParametersParserInterface::HEADER_CONTENT_TYPE);
-            if (count($contentType)) {
+            if (count($contentType) > 0) {
                 $mediaType = $this->factory->createMediaType(
                     MediaTypeInterface::JSON_API_TYPE,
                     MediaTypeInterface::JSON_API_SUB_TYPE
@@ -418,11 +418,6 @@ class JsonApiController
 
     private function doesRequestHaveBody(Request $request): bool
     {
-        if (count($request->getHeader('Transfer-Encoding'))) {
-            return true;
-        }
-        $contentLength = $request->getHeader('Content-Length');
-
-        return count($contentLength) && $contentLength[0] > 0;
+        return in_array($request->getMethod(), ['POST', 'PATCH']);
     }
 }
-- 
GitLab