Skip to content

Commit 56f15c1

Browse files
committed
We can make this middleware significantly simpler
1 parent 0fa33e0 commit 56f15c1

File tree

1 file changed

+5
-36
lines changed

1 file changed

+5
-36
lines changed

app/Http/Middleware/EnsureStatefulRequests.php

Lines changed: 5 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,10 @@
22

33
namespace Pterodactyl\Http\Middleware;
44

5-
use Illuminate\Http\Request;
6-
use Illuminate\Routing\Pipeline;
7-
use Illuminate\Session\Middleware\StartSession;
8-
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
95
use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful;
106

117
class EnsureStatefulRequests extends EnsureFrontendRequestsAreStateful
128
{
13-
/**
14-
* {@inheritDoc}
15-
*/
16-
public function handle($request, $next)
17-
{
18-
$this->configureSecureCookieSessions();
19-
20-
return (new Pipeline(app()))
21-
->send($request)
22-
->through($this->isStateful($request) ? $this->statefulMiddleware() : [])
23-
->then(fn ($request) => $next($request));
24-
}
25-
269
/**
2710
* Determines if a request is stateful or not. This is determined using the default
2811
* Sanctum "fromFrontend" helper method. However, we also check if the request includes
@@ -32,26 +15,12 @@ public function handle($request, $next)
3215
* We don't want to support API usage using the cookies, except for requests stemming
3316
* from the front-end we control.
3417
*/
35-
protected function isStateful(Request $request): bool
36-
{
37-
return static::fromFrontend($request) || $request->hasCookie(config('session.cookie'));
38-
}
39-
40-
/**
41-
* Returns the middleware to be applied to a stateful request to the API.
42-
*/
43-
protected function statefulMiddleware(): array
18+
public static function fromFrontend($request)
4419
{
45-
return [
46-
function ($request, $next) {
47-
$request->attributes->set('sanctum', true);
20+
if (parent::fromFrontend($request)) {
21+
return true;
22+
}
4823

49-
return $next($request);
50-
},
51-
config('sanctum.middleware.encrypt_cookies', EncryptCookies::class),
52-
AddQueuedCookiesToResponse::class,
53-
StartSession::class,
54-
config('sanctum.middleware.verify_csrf_token', VerifyCsrfToken::class),
55-
];
24+
return $request->hasCookie(config('session.cookie'));
5625
}
5726
}

0 commit comments

Comments
 (0)