Kernel.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <?php
  2. namespace App\Http;
  3. use App\Http\Middleware\AcceptHeader;
  4. use App\Http\Middleware\Affiliate;
  5. use App\Http\Middleware\Authenticate;
  6. use App\Http\Middleware\ClientAuthenticate;
  7. use App\Http\Middleware\EncryptCookies;
  8. use App\Http\Middleware\isForbidden;
  9. use App\Http\Middleware\isLogin;
  10. use App\Http\Middleware\isMaintenance;
  11. use App\Http\Middleware\isSecurity;
  12. use App\Http\Middleware\Permission;
  13. use App\Http\Middleware\PreventRequestsDuringMaintenance;
  14. use App\Http\Middleware\RedirectIfAuthenticated;
  15. use App\Http\Middleware\SetLocale;
  16. use App\Http\Middleware\Telegram;
  17. use App\Http\Middleware\tmpCORS;
  18. use App\Http\Middleware\TrimStrings;
  19. use App\Http\Middleware\TrustProxies;
  20. use App\Http\Middleware\VerifyCsrfToken;
  21. use App\Http\Middleware\WebApi;
  22. use Illuminate\Auth\Middleware\AuthenticateWithBasicAuth;
  23. use Illuminate\Auth\Middleware\Authorize;
  24. use Illuminate\Auth\Middleware\EnsureEmailIsVerified;
  25. use Illuminate\Auth\Middleware\RequirePassword;
  26. use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
  27. use Illuminate\Foundation\Http\Kernel as HttpKernel;
  28. use Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull;
  29. use Illuminate\Foundation\Http\Middleware\ValidatePostSize;
  30. use Illuminate\Http\Middleware\HandleCors;
  31. use Illuminate\Http\Middleware\SetCacheHeaders;
  32. use Illuminate\Routing\Middleware\SubstituteBindings;
  33. use Illuminate\Routing\Middleware\ThrottleRequests;
  34. use Illuminate\Routing\Middleware\ValidateSignature;
  35. use Illuminate\Session\Middleware\AuthenticateSession;
  36. use Illuminate\Session\Middleware\StartSession;
  37. use Illuminate\View\Middleware\ShareErrorsFromSession;
  38. class Kernel extends HttpKernel
  39. {
  40. /**
  41. * The application's global HTTP middleware stack.
  42. *
  43. * These middleware are run during every request to your application.
  44. *
  45. * @var array<int, class-string|string>
  46. */
  47. protected $middleware = [
  48. // \App\Http\Middleware\TrustHosts::class,
  49. TrustProxies::class,
  50. HandleCors::class,
  51. PreventRequestsDuringMaintenance::class,
  52. ValidatePostSize::class,
  53. TrimStrings::class,
  54. ConvertEmptyStringsToNull::class,
  55. ];
  56. /**
  57. * The application's route middleware groups.
  58. *
  59. * @var array<string, array<int, class-string|string>>
  60. */
  61. protected $middlewareGroups = [
  62. 'web' => [
  63. EncryptCookies::class,
  64. AddQueuedCookiesToResponse::class,
  65. StartSession::class,
  66. SetLocale::class,
  67. ShareErrorsFromSession::class,
  68. VerifyCsrfToken::class,
  69. SubstituteBindings::class,
  70. ],
  71. 'user' => [
  72. isForbidden::class,
  73. isMaintenance::class,
  74. isLogin::class,
  75. ],
  76. 'admin' => [
  77. isForbidden::class,
  78. isLogin::class,
  79. Permission::class,
  80. ],
  81. 'api' => [
  82. AcceptHeader::class,
  83. EncryptCookies::class,
  84. AddQueuedCookiesToResponse::class,
  85. StartSession::class,
  86. tmpCORS::class,
  87. SetLocale::class,
  88. ThrottleRequests::class.':api',
  89. SubstituteBindings::class,
  90. ],
  91. ];
  92. /**
  93. * The application's middleware aliases.
  94. *
  95. * Aliases may be used instead of class names to conveniently assign middleware to routes and groups.
  96. *
  97. * @var array<string, class-string|string>
  98. */
  99. protected $middlewareAliases = [
  100. 'auth' => Authenticate::class,
  101. 'auth.basic' => AuthenticateWithBasicAuth::class,
  102. 'auth.session' => AuthenticateSession::class,
  103. 'auth.client' => ClientAuthenticate::class,
  104. 'cache.headers' => SetCacheHeaders::class,
  105. 'can' => Authorize::class,
  106. 'guest' => RedirectIfAuthenticated::class,
  107. 'password.confirm' => RequirePassword::class,
  108. 'signed' => ValidateSignature::class,
  109. 'telegram' => Telegram::class,
  110. 'throttle' => ThrottleRequests::class,
  111. 'verified' => EnsureEmailIsVerified::class,
  112. 'webApi' => WebApi::class,
  113. 'isMaintenance' => isMaintenance::class,
  114. 'isSecurity' => isSecurity::class,
  115. 'isForbidden' => isForbidden::class,
  116. 'affiliate' => Affiliate::class,
  117. ];
  118. }