Code Duplication    Length = 28-28 lines in 2 locations

src/Hal/Action/ExceptionAction.php 1 location

@@ 26-53 (lines=28) @@
23
 * @author Baptiste Meyer <[email protected]>
24
 * @author Armouche Hamza <[email protected]>
25
 */
26
final class ExceptionAction
27
{
28
    private $normalizer;
29
30
    public function __construct(NormalizerInterface $normalizer)
31
    {
32
        $this->normalizer = $normalizer;
33
    }
34
35
    /**
36
     * Converts a an exception to a JSON response.
37
     */
38
    public function __invoke(FlattenException $exception) : JsonResponse
39
    {
40
        $exceptionClass = $exception->getClass();
41
        if (
42
            is_a($exceptionClass, ExceptionInterface::class, true) ||
43
            is_a($exceptionClass, InvalidArgumentException::class, true)
44
        ) {
45
            $exception->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
46
        }
47
48
        $headers = $exception->getHeaders();
49
        $headers['Content-Type'] = 'application/hal+json';
50
51
        return new JsonResponse($this->normalizer->normalize($exception, 'hal-error'), $exception->getStatusCode(), $headers);
52
    }
53
}
54

src/Hydra/Action/ExceptionAction.php 1 location

@@ 25-52 (lines=28) @@
22
 *
23
 * @author Baptiste Meyer <[email protected]>
24
 */
25
final class ExceptionAction
26
{
27
    private $normalizer;
28
29
    public function __construct(NormalizerInterface $normalizer)
30
    {
31
        $this->normalizer = $normalizer;
32
    }
33
34
    /**
35
     * Converts a an exception to a JSON response.
36
     */
37
    public function __invoke(FlattenException $exception) : JsonResponse
38
    {
39
        $exceptionClass = $exception->getClass();
40
        if (
41
            is_a($exceptionClass, ExceptionInterface::class, true) ||
42
            is_a($exceptionClass, InvalidArgumentException::class, true)
43
        ) {
44
            $exception->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
45
        }
46
47
        $headers = $exception->getHeaders();
48
        $headers['Content-Type'] = 'application/ld+json';
49
50
        return new JsonResponse($this->normalizer->normalize($exception, 'hydra-error'), $exception->getStatusCode(), $headers);
51
    }
52
}
53