Skip to content

Commit f16097e

Browse files
authored
Merge pull request #60 from laravel/fix-boost-inject-with-livewire
fix #49: disable boost inject if HTML isn't expected
2 parents f27ff5b + e9c0ca1 commit f16097e

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

src/Middleware/InjectBoost.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public function handle(Request $request, Closure $next): Response
1717
/** @var \Symfony\Component\HttpFoundation\Response $response */
1818
$response = $next($request);
1919

20-
if ($this->shouldInject($response->getContent())) {
20+
if ($this->shouldInject($response)) {
2121
$originalView = $response->original ?? null;
2222
$injectedContent = $this->injectScript($response->getContent());
2323
$response->setContent($injectedContent);
@@ -30,8 +30,13 @@ public function handle(Request $request, Closure $next): Response
3030
return $response;
3131
}
3232

33-
private function shouldInject(string $content): bool
33+
private function shouldInject(Response $response): bool
3434
{
35+
if (str_contains($response->headers->get('content-type', ''), 'html') === false) {
36+
return false;
37+
}
38+
39+
$content = $response->getContent();
3540
// Check if it's HTML
3641
if (! str_contains($content, '<html') && ! str_contains($content, '<head')) {
3742
return false;

tests/Feature/Mcp/Tools/BrowserLogsTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@
208208
HTML;
209209

210210
$request = Request::create('/');
211-
$response = new \Illuminate\Http\Response($html);
211+
$response = new \Illuminate\Http\Response($html, 200, ['Content-Type' => 'text/html']);
212212

213213
$result = $middleware->handle($request, function ($req) use ($response) {
214214
return $response;
@@ -277,7 +277,7 @@
277277
HTML;
278278

279279
$request = Request::create('/');
280-
$response = new \Illuminate\Http\Response($html);
280+
$response = new \Illuminate\Http\Response($html, 200, ['Content-Type' => 'text/html']);
281281

282282
$result = $middleware->handle($request, function ($req) use ($response) {
283283
return $response;

0 commit comments

Comments
 (0)