33namespace Acquia \Hmac \Symfony ;
44
55use Acquia \Hmac \ResponseSigner ;
6+ use Laminas \Diactoros \ResponseFactory ;
7+ use Laminas \Diactoros \ServerRequestFactory ;
8+ use Laminas \Diactoros \StreamFactory ;
9+ use Laminas \Diactoros \UploadedFileFactory ;
610use Symfony \Bridge \PsrHttpMessage \Factory \DiactorosFactory ;
11+ use Symfony \Bridge \PsrHttpMessage \Factory \PsrHttpFactory ;
712use Symfony \Bridge \PsrHttpMessage \Factory \HttpFoundationFactory ;
813use Symfony \Component \HttpKernel \Event \FilterResponseEvent ;
914use Symfony \Component \HttpKernel \KernelEvents ;
@@ -27,11 +32,16 @@ public function onKernelResponse(FilterResponseEvent $event)
2732 $ response = $ event ->getResponse ();
2833
2934 if ($ request ->attributes ->has ('hmac.key ' )) {
30- $ psr7Factory = new DiactorosFactory ();
35+ if (class_exists (DiactorosFactory::class)) {
36+ $ httpMessageFactory = new DiactorosFactory ();
37+ } else {
38+ $ httpMessageFactory = new PsrHttpFactory (new ServerRequestFactory (), new StreamFactory (), new UploadedFileFactory (), new ResponseFactory ());
39+ }
40+
3141 $ foundationFactory = new HttpFoundationFactory ();
3242
33- $ psr7Request = $ psr7Factory ->createRequest ($ request );
34- $ psr7Response = $ psr7Factory ->createResponse ($ response );
43+ $ psr7Request = $ httpMessageFactory ->createRequest ($ request );
44+ $ psr7Response = $ httpMessageFactory ->createResponse ($ response );
3545
3646 $ signer = new ResponseSigner ($ request ->attributes ->get ('hmac.key ' ), $ psr7Request );
3747 $ signedResponse = $ signer ->signResponse ($ psr7Response );
0 commit comments