From 6ca2d40f3a8a56d40deb411353cee92d84673d96 Mon Sep 17 00:00:00 2001 From: Ashley Hindle Date: Wed, 13 Aug 2025 17:09:21 +0100 Subject: [PATCH 1/3] fix #49: disable boost inject if HTML isn't expected --- src/Middleware/InjectBoost.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Middleware/InjectBoost.php b/src/Middleware/InjectBoost.php index b8166e6..3576893 100644 --- a/src/Middleware/InjectBoost.php +++ b/src/Middleware/InjectBoost.php @@ -17,7 +17,7 @@ public function handle(Request $request, Closure $next): Response /** @var \Symfony\Component\HttpFoundation\Response $response */ $response = $next($request); - if ($this->shouldInject($response->getContent())) { + if ($this->shouldInject($response)) { $originalView = $response->original ?? null; $injectedContent = $this->injectScript($response->getContent()); $response->setContent($injectedContent); @@ -30,8 +30,13 @@ public function handle(Request $request, Closure $next): Response return $response; } - private function shouldInject(string $content): bool + private function shouldInject(Response $response): bool { + if (str_contains($response->headers->get('content-type'), 'html') === false) { + return false; + } + + $content = $response->getContent(); // Check if it's HTML if (! str_contains($content, ' Date: Wed, 13 Aug 2025 17:14:16 +0100 Subject: [PATCH 2/3] fix #49: update boost injection tests --- src/Middleware/InjectBoost.php | 2 +- tests/Feature/Mcp/Tools/BrowserLogsTest.php | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/Middleware/InjectBoost.php b/src/Middleware/InjectBoost.php index 3576893..6afd983 100644 --- a/src/Middleware/InjectBoost.php +++ b/src/Middleware/InjectBoost.php @@ -32,7 +32,7 @@ public function handle(Request $request, Closure $next): Response private function shouldInject(Response $response): bool { - if (str_contains($response->headers->get('content-type'), 'html') === false) { + if (str_contains($response->headers->get('content-type', ''), 'html') === false) { return false; } diff --git a/tests/Feature/Mcp/Tools/BrowserLogsTest.php b/tests/Feature/Mcp/Tools/BrowserLogsTest.php index 660c2c7..2d7488b 100644 --- a/tests/Feature/Mcp/Tools/BrowserLogsTest.php +++ b/tests/Feature/Mcp/Tools/BrowserLogsTest.php @@ -97,8 +97,7 @@ test('@boostJs blade directive renders browser logger script', function () { // Ensure route exists - Route::post('/_boost/browser-logs', function () { - })->name('boost.browser-logs'); + Route::post('/_boost/browser-logs', function () {})->name('boost.browser-logs'); $blade = Blade::compileString('@boostJs'); @@ -208,7 +207,7 @@ HTML; $request = Request::create('/'); - $response = new \Illuminate\Http\Response($html); + $response = new \Illuminate\Http\Response($html, 200, ['Content-Type' => 'text/html']); $result = $middleware->handle($request, function ($req) use ($response) { return $response; @@ -277,7 +276,7 @@ HTML; $request = Request::create('/'); - $response = new \Illuminate\Http\Response($html); + $response = new \Illuminate\Http\Response($html, 200, ['Content-Type' => 'text/html']); $result = $middleware->handle($request, function ($req) use ($response) { return $response; From e9c0ca1ccd45cb3c27d4ed231bbddb8dadfaae96 Mon Sep 17 00:00:00 2001 From: Ashley Hindle Date: Wed, 13 Aug 2025 17:14:38 +0100 Subject: [PATCH 3/3] style: test --- tests/Feature/Mcp/Tools/BrowserLogsTest.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/Feature/Mcp/Tools/BrowserLogsTest.php b/tests/Feature/Mcp/Tools/BrowserLogsTest.php index 2d7488b..ed11d06 100644 --- a/tests/Feature/Mcp/Tools/BrowserLogsTest.php +++ b/tests/Feature/Mcp/Tools/BrowserLogsTest.php @@ -97,7 +97,8 @@ test('@boostJs blade directive renders browser logger script', function () { // Ensure route exists - Route::post('/_boost/browser-logs', function () {})->name('boost.browser-logs'); + Route::post('/_boost/browser-logs', function () { + })->name('boost.browser-logs'); $blade = Blade::compileString('@boostJs');