Skip to content

Commit b9266bc

Browse files
authored
Add support for Sec-Purpose header (#48925)
1 parent ea4198a commit b9266bc

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/Illuminate/Http/Request.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,8 @@ public function pjax()
297297
public function prefetch()
298298
{
299299
return strcasecmp($this->server->get('HTTP_X_MOZ') ?? '', 'prefetch') === 0 ||
300-
strcasecmp($this->headers->get('Purpose') ?? '', 'prefetch') === 0;
300+
strcasecmp($this->headers->get('Purpose') ?? '', 'prefetch') === 0 ||
301+
strcasecmp($this->headers->get('Sec-Purpose') ?? '', 'prefetch') === 0;
301302
}
302303

303304
/**

tests/Http/HttpRequestTest.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,15 @@ public function testPrefetchMethod()
254254
$this->assertTrue($request->prefetch());
255255
$request->headers->set('Purpose', 'Prefetch');
256256
$this->assertTrue($request->prefetch());
257+
258+
$request->headers->remove('Purpose');
259+
260+
$request->headers->set('Sec-Purpose', '');
261+
$this->assertFalse($request->prefetch());
262+
$request->headers->set('Sec-Purpose', 'prefetch');
263+
$this->assertTrue($request->prefetch());
264+
$request->headers->set('Sec-Purpose', 'Prefetch');
265+
$this->assertTrue($request->prefetch());
257266
}
258267

259268
public function testPjaxMethod()

0 commit comments

Comments
 (0)