From 3784115f68180406841d822f5ad954c89320aefa Mon Sep 17 00:00:00 2001 From: Thomas Calvet Date: Wed, 26 Jul 2023 14:13:08 +0200 Subject: [PATCH] [Serializer] Fix denormalizing abstract part headers in MimeMessageNormalizer --- src/Symfony/Component/Mime/Tests/MessageTest.php | 15 +++++++++++++-- src/Symfony/Component/Mime/composer.json | 4 ++-- .../Normalizer/MimeMessageNormalizer.php | 1 + 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Component/Mime/Tests/MessageTest.php b/src/Symfony/Component/Mime/Tests/MessageTest.php index f35590ce9e174..86431903de1bd 100644 --- a/src/Symfony/Component/Mime/Tests/MessageTest.php +++ b/src/Symfony/Component/Mime/Tests/MessageTest.php @@ -168,6 +168,7 @@ public function testSymfonySerialize() ), new DataPart('text data', 'text.txt') ); + $body->getHeaders()->addHeader('foo', 'bar'); $e = new Message((new Headers())->addMailboxListHeader('To', ['you@example.com']), $body); $expected = clone $e; @@ -232,7 +233,17 @@ public function testSymfonySerialize() "class": "Symfony\\\\Component\\\\Mime\\\\Part\\\\DataPart" } ], - "headers": [], + "headers": { + "foo": [ + { + "value": "bar", + "name": "foo", + "lineLength": 76, + "lang": null, + "charset": "utf-8" + } + ] + }, "class": "Symfony\\\\Component\\\\Mime\\\\Part\\\\Multipart\\\\MixedPart" }, "message": null @@ -252,7 +263,7 @@ public function testSymfonySerialize() $this->assertSame($expectedJson, json_encode(json_decode($serialized), \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES)); $n = $serializer->deserialize($serialized, Message::class, 'json'); - $this->assertEquals($expected->getHeaders(), $n->getHeaders()); + $this->assertEquals($expected, $n); $serialized = $serializer->serialize($e, 'json'); $this->assertSame($expectedJson, json_encode(json_decode($serialized), \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES)); diff --git a/src/Symfony/Component/Mime/composer.json b/src/Symfony/Component/Mime/composer.json index 5472deab1a4ba..f1954a4f8f5f3 100644 --- a/src/Symfony/Component/Mime/composer.json +++ b/src/Symfony/Component/Mime/composer.json @@ -28,14 +28,14 @@ "symfony/dependency-injection": "^4.4|^5.0|^6.0", "symfony/property-access": "^4.4|^5.1|^6.0", "symfony/property-info": "^4.4|^5.1|^6.0", - "symfony/serializer": "^5.4.14|~6.0.14|^6.1.6" + "symfony/serializer": "^5.4.26|^6.2.13" }, "conflict": { "egulias/email-validator": "~3.0.0", "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", "symfony/mailer": "<4.4", - "symfony/serializer": "<5.4.14|>=6.0,<6.0.14|>=6.1,<6.1.6" + "symfony/serializer": "<5.4.26|>=6.2,<6.2.13" }, "autoload": { "psr-4": { "Symfony\\Component\\Mime\\": "" }, diff --git a/src/Symfony/Component/Serializer/Normalizer/MimeMessageNormalizer.php b/src/Symfony/Component/Serializer/Normalizer/MimeMessageNormalizer.php index 14122829ee0cd..9dd9605a73ddd 100644 --- a/src/Symfony/Component/Serializer/Normalizer/MimeMessageNormalizer.php +++ b/src/Symfony/Component/Serializer/Normalizer/MimeMessageNormalizer.php @@ -93,6 +93,7 @@ public function denormalize($data, string $type, string $format = null, array $c if (AbstractPart::class === $type) { $type = $data['class']; unset($data['class']); + $data['headers'] = $this->serializer->denormalize($data['headers'], Headers::class, $format, $context); } return $this->normalizer->denormalize($data, $type, $format, $context); pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy