diff --git a/spec/Middleware/MezzioSpec.php b/spec/Middleware/MezzioSpec.php index 2dd8803e..3b340612 100644 --- a/spec/Middleware/MezzioSpec.php +++ b/spec/Middleware/MezzioSpec.php @@ -327,7 +327,7 @@ ); $request = $this->request; - $request = $request->withHeader('X-Requested-With', 'XmlHttpRequest'); + $request = $request->withHeader('X-Requested-With', random_int(0, 1) !== 0 ? 'XMLHttpRequest' : 'XmlHttpRequest'); $handler = Double::instance(['implements' => RequestHandlerInterface::class]); allow($handler)->toReceive('handle')->with($request)->andRun(function (): never { @@ -364,7 +364,7 @@ ); $request = $this->request; - $request = $request->withHeader('X-Requested-With', 'XmlHttpRequest'); + $request = $request->withHeader('X-Requested-With', random_int(0, 1) !== 0 ? 'XMLHttpRequest' : 'XmlHttpRequest'); $handler = Double::instance(['implements' => RequestHandlerInterface::class]); allow($handler)->toReceive('handle')->with($request)->andRun(function (): never { @@ -401,7 +401,7 @@ ); $request = $this->request; - $request = $request->withHeader('X-Requested-With', 'XmlHttpRequest'); + $request = $request->withHeader('X-Requested-With', random_int(0, 1) !== 0 ? 'XMLHttpRequest' : 'XmlHttpRequest'); $handler = Double::instance(['implements' => RequestHandlerInterface::class]); allow($handler)->toReceive('handle')->with($request)->andRun(function (): never { @@ -436,7 +436,7 @@ ); $request = $this->request; - $request = $request->withHeader('X-Requested-With', 'XmlHttpRequest'); + $request = $request->withHeader('X-Requested-With', random_int(0, 1) !== 0 ? 'XMLHttpRequest' : 'XmlHttpRequest'); $handler = Double::instance(['implements' => RequestHandlerInterface::class]); allow($handler)->toReceive('handle')->with($request)->andRun(function () use ($exception): never { diff --git a/src/Middleware/Mezzio.php b/src/Middleware/Mezzio.php index de44705f..6ba7e07a 100644 --- a/src/Middleware/Mezzio.php +++ b/src/Middleware/Mezzio.php @@ -23,6 +23,7 @@ use function ErrorHeroModule\detectMessageContentType; use function ErrorHeroModule\isExcludedException; +use function strcasecmp; final class Mezzio implements MiddlewareInterface { @@ -101,7 +102,7 @@ private function showDefaultView(): Response|HtmlResponse /** @var ServerRequestInterface $request */ $request = $this->request; $isXmlHttpRequest = $request->hasHeader('X-Requested-With') - && $request->getHeaderLine('X-Requested-With') === 'XmlHttpRequest'; + && strcasecmp($request->getHeaderLine('X-Requested-With'), 'XMLHttpRequest') === 0; if ( $isXmlHttpRequest &&