File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1313
1414namespace ApiPlatform \Symfony \Messenger ;
1515
16+ use Symfony \Component \HttpFoundation \Request ;
1617use Symfony \Component \Messenger \Stamp \StampInterface ;
1718
1819/**
2223 */
2324final class ContextStamp implements StampInterface
2425{
25- public function __construct (private readonly array $ context = [])
26+ private readonly array $ context ;
27+
28+ public function __construct (array $ context = [])
2629 {
30+ if (($ request = ($ context ['request ' ] ?? null )) && $ request instanceof Request && $ request ->hasSession ()) {
31+ unset($ context ['request ' ]);
32+ }
33+
34+ $ this ->context = $ context ;
2735 }
2836
2937 /**
Original file line number Diff line number Diff line change 1515
1616use ApiPlatform \Symfony \Messenger \ContextStamp ;
1717use PHPUnit \Framework \TestCase ;
18+ use Symfony \Component \HttpFoundation \Request ;
1819use Symfony \Component \Messenger \Stamp \StampInterface ;
1920
2021/**
@@ -32,4 +33,16 @@ public function testGetContext(): void
3233 $ contextStamp = new ContextStamp ();
3334 $ this ->assertIsArray ($ contextStamp ->getContext ());
3435 }
36+
37+ /**
38+ * @doesNotPerformAssertions
39+ */
40+ public function testSerializable (): void
41+ {
42+ $ request = new Request ();
43+ $ request ->setSessionFactory (function (): void {}); // @phpstan-ignore-line
44+
45+ $ stamp = new ContextStamp (['request ' => $ request ]);
46+ serialize ($ stamp );
47+ }
3548}
You can’t perform that action at this time.
0 commit comments