name: Kernel
class_comment: null
dependencies:
- name: CarbonInterval
  type: class
  source: Carbon\CarbonInterval
- name: DateTimeInterface
  type: class
  source: DateTimeInterface
- name: ExceptionHandler
  type: class
  source: Illuminate\Contracts\Debug\ExceptionHandler
- name: Application
  type: class
  source: Illuminate\Contracts\Foundation\Application
- name: KernelContract
  type: class
  source: Illuminate\Contracts\Http\Kernel
- name: RequestHandled
  type: class
  source: Illuminate\Foundation\Http\Events\RequestHandled
- name: Pipeline
  type: class
  source: Illuminate\Routing\Pipeline
- name: Router
  type: class
  source: Illuminate\Routing\Router
- name: Carbon
  type: class
  source: Illuminate\Support\Carbon
- name: Facade
  type: class
  source: Illuminate\Support\Facades\Facade
- name: InteractsWithTime
  type: class
  source: Illuminate\Support\InteractsWithTime
- name: InvalidArgumentException
  type: class
  source: InvalidArgumentException
- name: Throwable
  type: class
  source: Throwable
- name: InteractsWithTime
  type: class
  source: InteractsWithTime
properties:
- name: app
  visibility: protected
  comment: '# * The application implementation.

    # *

    # * @var \Illuminate\Contracts\Foundation\Application'
- name: router
  visibility: protected
  comment: '# * The router instance.

    # *

    # * @var \Illuminate\Routing\Router'
- name: bootstrappers
  visibility: protected
  comment: '# * The bootstrap classes for the application.

    # *

    # * @var string[]'
- name: middleware
  visibility: protected
  comment: '# * The application''s middleware stack.

    # *

    # * @var array<int, class-string|string>'
- name: middlewareGroups
  visibility: protected
  comment: '# * The application''s route middleware groups.

    # *

    # * @var array<string, array<int, class-string|string>>'
- name: routeMiddleware
  visibility: protected
  comment: '# * The application''s route middleware.

    # *

    # * @var array<string, class-string|string>

    # *

    # * @deprecated'
- name: middlewareAliases
  visibility: protected
  comment: '# * The application''s middleware aliases.

    # *

    # * @var array<string, class-string|string>'
- name: requestLifecycleDurationHandlers
  visibility: protected
  comment: '# * All of the registered request duration handlers.

    # *

    # * @var array'
- name: requestStartedAt
  visibility: protected
  comment: '# * When the kernel starting handling the current request.

    # *

    # * @var \Illuminate\Support\Carbon|null'
- name: middlewarePriority
  visibility: protected
  comment: '# * The priority-sorted list of middleware.

    # *

    # * Forces non-global middleware to always be in the given order.

    # *

    # * @var string[]'
methods:
- name: __construct
  visibility: public
  parameters:
  - name: app
  - name: router
  comment: "# * The application implementation.\n# *\n# * @var \\Illuminate\\Contracts\\\
    Foundation\\Application\n# */\n# protected $app;\n# \n# /**\n# * The router instance.\n\
    # *\n# * @var \\Illuminate\\Routing\\Router\n# */\n# protected $router;\n# \n\
    # /**\n# * The bootstrap classes for the application.\n# *\n# * @var string[]\n\
    # */\n# protected $bootstrappers = [\n# \\Illuminate\\Foundation\\Bootstrap\\\
    LoadEnvironmentVariables::class,\n# \\Illuminate\\Foundation\\Bootstrap\\LoadConfiguration::class,\n\
    # \\Illuminate\\Foundation\\Bootstrap\\HandleExceptions::class,\n# \\Illuminate\\\
    Foundation\\Bootstrap\\RegisterFacades::class,\n# \\Illuminate\\Foundation\\Bootstrap\\\
    RegisterProviders::class,\n# \\Illuminate\\Foundation\\Bootstrap\\BootProviders::class,\n\
    # ];\n# \n# /**\n# * The application's middleware stack.\n# *\n# * @var array<int,\
    \ class-string|string>\n# */\n# protected $middleware = [];\n# \n# /**\n# * The\
    \ application's route middleware groups.\n# *\n# * @var array<string, array<int,\
    \ class-string|string>>\n# */\n# protected $middlewareGroups = [];\n# \n# /**\n\
    # * The application's route middleware.\n# *\n# * @var array<string, class-string|string>\n\
    # *\n# * @deprecated\n# */\n# protected $routeMiddleware = [];\n# \n# /**\n# *\
    \ The application's middleware aliases.\n# *\n# * @var array<string, class-string|string>\n\
    # */\n# protected $middlewareAliases = [];\n# \n# /**\n# * All of the registered\
    \ request duration handlers.\n# *\n# * @var array\n# */\n# protected $requestLifecycleDurationHandlers\
    \ = [];\n# \n# /**\n# * When the kernel starting handling the current request.\n\
    # *\n# * @var \\Illuminate\\Support\\Carbon|null\n# */\n# protected $requestStartedAt;\n\
    # \n# /**\n# * The priority-sorted list of middleware.\n# *\n# * Forces non-global\
    \ middleware to always be in the given order.\n# *\n# * @var string[]\n# */\n\
    # protected $middlewarePriority = [\n# \\Illuminate\\Foundation\\Http\\Middleware\\\
    HandlePrecognitiveRequests::class,\n# \\Illuminate\\Cookie\\Middleware\\EncryptCookies::class,\n\
    # \\Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse::class,\n# \\Illuminate\\\
    Session\\Middleware\\StartSession::class,\n# \\Illuminate\\View\\Middleware\\\
    ShareErrorsFromSession::class,\n# \\Illuminate\\Contracts\\Auth\\Middleware\\\
    AuthenticatesRequests::class,\n# \\Illuminate\\Routing\\Middleware\\ThrottleRequests::class,\n\
    # \\Illuminate\\Routing\\Middleware\\ThrottleRequestsWithRedis::class,\n# \\Illuminate\\\
    Contracts\\Session\\Middleware\\AuthenticatesSessions::class,\n# \\Illuminate\\\
    Routing\\Middleware\\SubstituteBindings::class,\n# \\Illuminate\\Auth\\Middleware\\\
    Authorize::class,\n# ];\n# \n# /**\n# * Create a new HTTP kernel instance.\n#\
    \ *\n# * @param  \\Illuminate\\Contracts\\Foundation\\Application  $app\n# * @param\
    \  \\Illuminate\\Routing\\Router  $router\n# * @return void"
- name: handle
  visibility: public
  parameters:
  - name: request
  comment: '# * Handle an incoming HTTP request.

    # *

    # * @param  \Illuminate\Http\Request  $request

    # * @return \Illuminate\Http\Response'
- name: sendRequestThroughRouter
  visibility: protected
  parameters:
  - name: request
  comment: '# * Send the given request through the middleware / router.

    # *

    # * @param  \Illuminate\Http\Request  $request

    # * @return \Illuminate\Http\Response'
- name: bootstrap
  visibility: public
  parameters: []
  comment: '# * Bootstrap the application for HTTP requests.

    # *

    # * @return void'
- name: dispatchToRouter
  visibility: protected
  parameters: []
  comment: '# * Get the route dispatcher callback.

    # *

    # * @return \Closure'
- name: terminate
  visibility: public
  parameters:
  - name: request
  - name: response
  comment: '# * Call the terminate method on any terminable middleware.

    # *

    # * @param  \Illuminate\Http\Request  $request

    # * @param  \Illuminate\Http\Response  $response

    # * @return void'
- name: terminateMiddleware
  visibility: protected
  parameters:
  - name: request
  - name: response
  comment: '# * Call the terminate method on any terminable middleware.

    # *

    # * @param  \Illuminate\Http\Request  $request

    # * @param  \Illuminate\Http\Response  $response

    # * @return void'
- name: whenRequestLifecycleIsLongerThan
  visibility: public
  parameters:
  - name: threshold
  - name: handler
  comment: '# * Register a callback to be invoked when the requests lifecycle duration
    exceeds a given amount of time.

    # *

    # * @param  \DateTimeInterface|\Carbon\CarbonInterval|float|int  $threshold

    # * @param  callable  $handler

    # * @return void'
- name: requestStartedAt
  visibility: public
  parameters: []
  comment: '# * When the request being handled started.

    # *

    # * @return \Illuminate\Support\Carbon|null'
- name: gatherRouteMiddleware
  visibility: protected
  parameters:
  - name: request
  comment: '# * Gather the route middleware for the given request.

    # *

    # * @param  \Illuminate\Http\Request  $request

    # * @return array'
- name: parseMiddleware
  visibility: protected
  parameters:
  - name: middleware
  comment: '# * Parse a middleware string to get the name and parameters.

    # *

    # * @param  string  $middleware

    # * @return array'
- name: hasMiddleware
  visibility: public
  parameters:
  - name: middleware
  comment: '# * Determine if the kernel has a given middleware.

    # *

    # * @param  string  $middleware

    # * @return bool'
- name: prependMiddleware
  visibility: public
  parameters:
  - name: middleware
  comment: '# * Add a new middleware to the beginning of the stack if it does not
    already exist.

    # *

    # * @param  string  $middleware

    # * @return $this'
- name: pushMiddleware
  visibility: public
  parameters:
  - name: middleware
  comment: '# * Add a new middleware to end of the stack if it does not already exist.

    # *

    # * @param  string  $middleware

    # * @return $this'
- name: prependMiddlewareToGroup
  visibility: public
  parameters:
  - name: group
  - name: middleware
  comment: '# * Prepend the given middleware to the given middleware group.

    # *

    # * @param  string  $group

    # * @param  string  $middleware

    # * @return $this

    # *

    # * @throws \InvalidArgumentException'
- name: appendMiddlewareToGroup
  visibility: public
  parameters:
  - name: group
  - name: middleware
  comment: '# * Append the given middleware to the given middleware group.

    # *

    # * @param  string  $group

    # * @param  string  $middleware

    # * @return $this

    # *

    # * @throws \InvalidArgumentException'
- name: prependToMiddlewarePriority
  visibility: public
  parameters:
  - name: middleware
  comment: '# * Prepend the given middleware to the middleware priority list.

    # *

    # * @param  string  $middleware

    # * @return $this'
- name: appendToMiddlewarePriority
  visibility: public
  parameters:
  - name: middleware
  comment: '# * Append the given middleware to the middleware priority list.

    # *

    # * @param  string  $middleware

    # * @return $this'
- name: syncMiddlewareToRouter
  visibility: protected
  parameters: []
  comment: '# * Sync the current state of the middleware to the router.

    # *

    # * @return void'
- name: getMiddlewarePriority
  visibility: public
  parameters: []
  comment: '# * Get the priority-sorted list of middleware.

    # *

    # * @return array'
- name: bootstrappers
  visibility: protected
  parameters: []
  comment: '# * Get the bootstrap classes for the application.

    # *

    # * @return array'
- name: reportException
  visibility: protected
  parameters:
  - name: e
  comment: '# * Report the exception to the exception handler.

    # *

    # * @param  \Throwable  $e

    # * @return void'
- name: renderException
  visibility: protected
  parameters:
  - name: request
  - name: e
  comment: '# * Render the exception to a response.

    # *

    # * @param  \Illuminate\Http\Request  $request

    # * @param  \Throwable  $e

    # * @return \Symfony\Component\HttpFoundation\Response'
- name: getGlobalMiddleware
  visibility: public
  parameters: []
  comment: '# * Get the application''s global middleware.

    # *

    # * @return array'
- name: setGlobalMiddleware
  visibility: public
  parameters:
  - name: middleware
  comment: '# * Set the application''s global middleware.

    # *

    # * @param  array  $middleware

    # * @return $this'
- name: getMiddlewareGroups
  visibility: public
  parameters: []
  comment: '# * Get the application''s route middleware groups.

    # *

    # * @return array'
- name: setMiddlewareGroups
  visibility: public
  parameters:
  - name: groups
  comment: '# * Set the application''s middleware groups.

    # *

    # * @param  array  $groups

    # * @return $this'
- name: getRouteMiddleware
  visibility: public
  parameters: []
  comment: '# * Get the application''s route middleware aliases.

    # *

    # * @return array

    # *

    # * @deprecated'
- name: getMiddlewareAliases
  visibility: public
  parameters: []
  comment: '# * Get the application''s route middleware aliases.

    # *

    # * @return array'
- name: setMiddlewareAliases
  visibility: public
  parameters:
  - name: aliases
  comment: '# * Set the application''s route middleware aliases.

    # *

    # * @param  array  $aliases

    # * @return $this'
- name: setMiddlewarePriority
  visibility: public
  parameters:
  - name: priority
  comment: '# * Set the application''s middleware priority.

    # *

    # * @param  array  $priority

    # * @return $this'
- name: getApplication
  visibility: public
  parameters: []
  comment: '# * Get the Laravel application instance.

    # *

    # * @return \Illuminate\Contracts\Foundation\Application'
- name: setApplication
  visibility: public
  parameters:
  - name: app
  comment: '# * Set the Laravel application instance.

    # *

    # * @param  \Illuminate\Contracts\Foundation\Application  $app

    # * @return $this'
traits:
- Carbon\CarbonInterval
- DateTimeInterface
- Illuminate\Contracts\Debug\ExceptionHandler
- Illuminate\Contracts\Foundation\Application
- Illuminate\Foundation\Http\Events\RequestHandled
- Illuminate\Routing\Pipeline
- Illuminate\Routing\Router
- Illuminate\Support\Carbon
- Illuminate\Support\Facades\Facade
- Illuminate\Support\InteractsWithTime
- InvalidArgumentException
- Throwable
- InteractsWithTime
interfaces:
- KernelContract