• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

api-platform / core / 16531587208

25 Jul 2025 09:05PM UTC coverage: 0.0% (-22.1%) from 22.07%
16531587208

Pull #7225

github

web-flow
Merge 23f449a58 into 02a764950
Pull Request #7225: feat: json streamer

0 of 294 new or added lines in 31 files covered. (0.0%)

11514 existing lines in 375 files now uncovered.

0 of 51976 relevant lines covered (0.0%)

0.0 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/State/Util/HttpResponseStatusTrait.php
1
<?php
2

3
/*
4
 * This file is part of the API Platform project.
5
 *
6
 * (c) Kévin Dunglas <dunglas@gmail.com>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11

12
declare(strict_types=1);
13

14
namespace ApiPlatform\State\Util;
15

16
use ApiPlatform\Metadata\HttpOperation;
17
use ApiPlatform\Metadata\Put;
18
use ApiPlatform\Metadata\ResourceClassResolverInterface;
19
use ApiPlatform\Metadata\Util\ClassInfoTrait;
20
use ApiPlatform\Metadata\Util\CloneTrait;
21
use Symfony\Component\HttpFoundation\Request;
22
use Symfony\Component\HttpFoundation\Response;
23

24
trait HttpResponseStatusTrait
25
{
26
    use ClassInfoTrait;
27
    use CloneTrait;
28
    private ?ResourceClassResolverInterface $resourceClassResolver;
29

30
    public const METHOD_TO_CODE = [
31
        'POST' => Response::HTTP_CREATED,
32
        'DELETE' => Response::HTTP_NO_CONTENT,
33
    ];
34

35
    /**
36
     * @param array<string, mixed> $context
37
     */
38
    private function getStatus(Request $request, HttpOperation $operation, array $context): int
39
    {
NEW
40
        $status = $operation->getStatus();
×
NEW
41
        $method = $request->getMethod();
×
42

NEW
43
        $outputMetadata = $operation->getOutput() ?? ['class' => $operation->getClass()];
×
NEW
44
        $hasOutput = \is_array($outputMetadata) && \array_key_exists('class', $outputMetadata) && null !== $outputMetadata['class'];
×
NEW
45
        $originalData = $context['original_data'] ?? null;
×
NEW
46
        $hasData = !$hasOutput ? false : ($this->resourceClassResolver && $originalData && \is_object($originalData) && $this->resourceClassResolver->isResourceClass($this->getObjectClass($originalData)));
×
47

NEW
48
        if ($hasData) {
×
NEW
49
            if ('PUT' === $method && !$request->attributes->get('previous_data') && null === $status && ($operation instanceof Put && ($operation->getAllowCreate() ?? false))) {
×
NEW
50
                $status = Response::HTTP_CREATED;
×
51
            }
52
        }
53

NEW
54
        return $status ?? self::METHOD_TO_CODE[$method] ?? Response::HTTP_OK;
×
55
    }
56
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc