From ca6b2ec9047dbe00587f466cc0c2bd414e84c8e0 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Thu, 8 Jan 2026 23:25:48 +0700 Subject: [PATCH 1/6] Use more modern XMLHttpRequest over XmlHttpRequest --- spec/Middleware/MezzioSpec.php | 8 ++++---- src/Middleware/Mezzio.php | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/spec/Middleware/MezzioSpec.php b/spec/Middleware/MezzioSpec.php index 2dd8803e..f13e44ec 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', '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', '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', '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', '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..52dc177b 100644 --- a/src/Middleware/Mezzio.php +++ b/src/Middleware/Mezzio.php @@ -101,7 +101,7 @@ private function showDefaultView(): Response|HtmlResponse /** @var ServerRequestInterface $request */ $request = $this->request; $isXmlHttpRequest = $request->hasHeader('X-Requested-With') - && $request->getHeaderLine('X-Requested-With') === 'XmlHttpRequest'; + && $request->getHeaderLine('X-Requested-With') === 'XMLHttpRequest'; if ( $isXmlHttpRequest && From 3a51ba453a75ab3ffe18673ebbfd1b2dd052f43f Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Fri, 9 Jan 2026 02:25:23 +0700 Subject: [PATCH 2/6] use strcasecmp() as fallback ensure different combination of case --- src/Middleware/Mezzio.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Middleware/Mezzio.php b/src/Middleware/Mezzio.php index 52dc177b..0d9fffe0 100644 --- a/src/Middleware/Mezzio.php +++ b/src/Middleware/Mezzio.php @@ -101,7 +101,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 && From 799269e13becb6e37b49ff42f62f82dd7b16516e Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Fri, 9 Jan 2026 02:27:06 +0700 Subject: [PATCH 3/6] ensure old XmlHttpRequest keep working --- spec/Middleware/MezzioSpec.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/Middleware/MezzioSpec.php b/spec/Middleware/MezzioSpec.php index f13e44ec..99e9c1c2 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', rand(0, 1) ? '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', rand(0, 1) ? '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', rand(0, 1) ? 'XMLHttpRequest' : 'XmlHttpRequest'); $handler = Double::instance(['implements' => RequestHandlerInterface::class]); allow($handler)->toReceive('handle')->with($request)->andRun(function () use ($exception): never { From c7e7c8492cb938bab8c41c115f9f3667251a54d4 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Fri, 9 Jan 2026 02:28:07 +0700 Subject: [PATCH 4/6] cs fix --- src/Middleware/Mezzio.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Middleware/Mezzio.php b/src/Middleware/Mezzio.php index 0d9fffe0..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 { From b1dcada5a3a56c16c5e0dbb107d7eab224436ce0 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Fri, 9 Jan 2026 02:29:11 +0700 Subject: [PATCH 5/6] ensure old XmlHttpRequest keep working --- spec/Middleware/MezzioSpec.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/Middleware/MezzioSpec.php b/spec/Middleware/MezzioSpec.php index 99e9c1c2..8f2c6d42 100644 --- a/spec/Middleware/MezzioSpec.php +++ b/spec/Middleware/MezzioSpec.php @@ -364,7 +364,7 @@ ); $request = $this->request; - $request = $request->withHeader('X-Requested-With', 'XMLHttpRequest'); + $request = $request->withHeader('X-Requested-With', rand(0, 1) ? 'XMLHttpRequest' : 'XmlHttpRequest'); $handler = Double::instance(['implements' => RequestHandlerInterface::class]); allow($handler)->toReceive('handle')->with($request)->andRun(function (): never { From 12395f26afb2338c15d2fbb2bfa9a1a589e6b812 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Fri, 9 Jan 2026 02:29:49 +0700 Subject: [PATCH 6/6] rectify --- spec/Middleware/MezzioSpec.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spec/Middleware/MezzioSpec.php b/spec/Middleware/MezzioSpec.php index 8f2c6d42..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', rand(0, 1) ? 'XMLHttpRequest' : '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', rand(0, 1) ? 'XMLHttpRequest' : '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', rand(0, 1) ? 'XMLHttpRequest' : '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', rand(0, 1) ? 'XMLHttpRequest' : '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 {