From 56fd1b600b574924463b8e349eef70e197c758e5 Mon Sep 17 00:00:00 2001
From: catch <catch@35733.no-reply.drupal.org>
Date: Mon, 28 Oct 2019 11:07:18 +0000
Subject: [PATCH] =?UTF-8?q?Issue=20#3086408=20by=20Krzysztof=20Doma=C5=84s?=
 =?UTF-8?q?ki,=20mglaman,=20el7cosmos:=20Error=20code=20should=20be=20stri?=
 =?UTF-8?q?ng=20in=20HttpExceptionNormalizer?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../jsonapi/src/Normalizer/HttpExceptionNormalizer.php        | 2 +-
 .../tests/src/Unit/Normalizer/HttpExceptionNormalizerTest.php | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php b/core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php
index 7737ce00cf82..461381581515 100644
--- a/core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php
@@ -87,7 +87,7 @@ protected function buildErrorObjects(HttpException $exception) {
     // Exceptions thrown without an explicitly defined code get assigned zero by
     // default. Since this is no helpful information, omit it.
     if ($exception->getCode() !== 0) {
-      $error['code'] = $exception->getCode();
+      $error['code'] = (string) $exception->getCode();
     }
     if ($this->currentUser->hasPermission('access site reports')) {
       // The following information may contain sensitive information. Only show
diff --git a/core/modules/jsonapi/tests/src/Unit/Normalizer/HttpExceptionNormalizerTest.php b/core/modules/jsonapi/tests/src/Unit/Normalizer/HttpExceptionNormalizerTest.php
index b85f58e10e95..1e43522591e2 100644
--- a/core/modules/jsonapi/tests/src/Unit/Normalizer/HttpExceptionNormalizerTest.php
+++ b/core/modules/jsonapi/tests/src/Unit/Normalizer/HttpExceptionNormalizerTest.php
@@ -36,8 +36,8 @@ public function testNormalize() {
     $error = $normalized[0];
     $this->assertNotEmpty($error['meta']);
     $this->assertNotEmpty($error['source']);
-    $this->assertEquals(13, $error['code']);
-    $this->assertEquals(403, $error['status']);
+    $this->assertSame('13', $error['code']);
+    $this->assertSame('403', $error['status']);
     $this->assertEquals('Forbidden', $error['title']);
     $this->assertEquals('lorem', $error['detail']);
     $this->assertArrayHasKey('trace', $error['meta']);
-- 
GitLab