1<?php
2
3// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0.
4// See the LICENCE file in the repository root for full licence text.
5
6namespace App\Http;
7
8use Illuminate\Foundation\Http\Kernel as HttpKernel;
9
10class Kernel extends HttpKernel
11{
12 /**
13 * The application's global HTTP middleware stack.
14 *
15 * @var array
16 */
17 protected $middleware = [
18 Middleware\DatadogMetrics::class,
19 ];
20
21 protected $middlewareGroups = [
22 'api' => [
23 Middleware\AuthApi::class,
24 Middleware\SetLocaleApi::class,
25 Middleware\CheckUserBanStatus::class,
26 Middleware\UpdateUserInfo::class,
27 Middleware\VerifyUserAlways::class,
28 ],
29 'web' => [
30 Middleware\EncryptCookies::class,
31 \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
32 \Illuminate\Session\Middleware\StartSession::class,
33 \Illuminate\View\Middleware\ShareErrorsFromSession::class,
34 Middleware\VerifyCsrfToken::class,
35 Middleware\SetSessionVerification::class,
36 Middleware\SetLocale::class,
37 Middleware\UpdateUserInfo::class,
38 Middleware\VerifyUserAlways::class,
39 Middleware\CheckUserBanStatus::class,
40 ],
41 'lio' => [
42 Middleware\LegacyInterOpAuth::class,
43 ],
44 ];
45
46 // TODO: check if laravel builtin order makes sense
47 protected $middlewarePriority = [];
48
49 /**
50 * The application's route middleware.
51 *
52 * @var array
53 */
54 protected $routeMiddleware = [
55 'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
56 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
57 'check-user-restricted' => Middleware\CheckUserRestricted::class,
58 'guest' => Middleware\RedirectIfAuthenticated::class,
59 'request-cost' => Middleware\RequestCost::class,
60 'require-scopes' => Middleware\RequireScopes::class,
61 'throttle' => Middleware\ThrottleRequests::class,
62 'verify-user' => Middleware\VerifyUser::class,
63 ];
64}