ErrorException (E_NOTICE)
Trying to get property 'id' of non-object ErrorException thrown with message "Trying to get property 'id' of non-object" Stacktrace: #73 ErrorException in C:\Projects\php\mihgroup\Modules\Product\Http\Controllers\ProductController.php:90 #72 Illuminate\Foundation\Bootstrap\HandleExceptions:handleError in C:\Projects\php\mihgroup\Modules\Product\Http\Controllers\ProductController.php:90 #71 Modules\Product\Http\Controllers\ProductController:category in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Controller.php:54 #70 call_user_func_array in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Controller.php:54 #69 Illuminate\Routing\Controller:callAction in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\ControllerDispatcher.php:45 #68 Illuminate\Routing\ControllerDispatcher:dispatch in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Route.php:219 #67 Illuminate\Routing\Route:runController in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Route.php:176 #66 Illuminate\Routing\Route:run in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Router.php:682 #65 Illuminate\Routing\Router:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:30 #64 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Middleware\SubstituteBindings.php:41 #63 Illuminate\Routing\Middleware\SubstituteBindings:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #62 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #61 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\VerifyCsrfToken.php:75 #60 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #59 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #58 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\View\Middleware\ShareErrorsFromSession.php:49 #57 Illuminate\View\Middleware\ShareErrorsFromSession:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #56 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #55 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php:63 #54 Illuminate\Session\Middleware\StartSession:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #53 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #52 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse.php:37 #51 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #50 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #49 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\EncryptCookies.php:66 #48 Illuminate\Cookie\Middleware\EncryptCookies:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #47 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #46 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\mcamara\laravel-localization\src\Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRedirectFilter.php:45 #45 Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRedirectFilter:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #44 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #43 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\mcamara\laravel-localization\src\Mcamara\LaravelLocalization\Middleware\LocaleSessionRedirect.php:56 #42 Mcamara\LaravelLocalization\Middleware\LocaleSessionRedirect:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #41 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #40 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\mcamara\laravel-localization\src\Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRoutes.php:30 #39 Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRoutes:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #38 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #37 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:104 #36 Illuminate\Pipeline\Pipeline:then in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Router.php:684 #35 Illuminate\Routing\Router:runRouteWithinStack in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Router.php:659 #34 Illuminate\Routing\Router:runRoute in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Router.php:625 #33 Illuminate\Routing\Router:dispatchToRoute in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Router.php:614 #32 Illuminate\Routing\Router:dispatch in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php:176 #31 Illuminate\Foundation\Http\Kernel:Illuminate\Foundation\Http\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:30 #30 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\beyondcode\laravel-query-detector\src\QueryDetectorMiddleware.php:27 #29 BeyondCode\QueryDetector\QueryDetectorMiddleware:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #28 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #27 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\barryvdh\laravel-debugbar\src\Middleware\InjectDebugbar.php:58 #26 Barryvdh\Debugbar\Middleware\InjectDebugbar:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #25 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #24 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\app\Http\Middleware\RunUpdater.php:24 #23 MIHGroup\Http\Middleware\RunUpdater:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #22 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #21 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\app\Http\Middleware\RedirectToInstallerIfNotInstalled.php:22 #20 MIHGroup\Http\Middleware\RedirectToInstallerIfNotInstalled:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #19 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #18 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\fideloper\proxy\src\TrustProxies.php:57 #17 Fideloper\Proxy\TrustProxies:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #16 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #15 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php:31 #14 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #13 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #12 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php:31 #11 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #10 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #9 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ValidatePostSize.php:27 #8 Illuminate\Foundation\Http\Middleware\ValidatePostSize:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #7 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #6 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode.php:62 #5 Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode:handle in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:163 #4 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 #3 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:104 #2 Illuminate\Pipeline\Pipeline:then in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php:151 #1 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in C:\Projects\php\mihgroup\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php:116 #0 Illuminate\Foundation\Http\Kernel:handle in C:\Projects\php\mihgroup\public\index.php:55
Application frames (5) All frames (74)
73
ErrorException
…\Modules\Product\Http\Controllers\ProductController.php
90
72
Illuminate
\
Foundation
\
Bootstrap
\
HandleExceptions
handleError
…\Modules\Product\Http\Controllers\ProductController.php
90
71
Modules
\
Product
\
Http
\
Controllers
\
ProductController
category
…\vendor\laravel\framework\src\Illuminate\Routing\Controller.php
54
70
call_user_func_array
…\vendor\laravel\framework\src\Illuminate\Routing\Controller.php
54
69
Illuminate
\
Routing
\
Controller
callAction
…\vendor\laravel\framework\src\Illuminate\Routing\ControllerDispatcher.php
45
68
Illuminate
\
Routing
\
ControllerDispatcher
dispatch
…\vendor\laravel\framework\src\Illuminate\Routing\Route.php
219
67
Illuminate
\
Routing
\
Route
runController
…\vendor\laravel\framework\src\Illuminate\Routing\Route.php
176
66
Illuminate
\
Routing
\
Route
run
…\vendor\laravel\framework\src\Illuminate\Routing\Router.php
682
65
Illuminate
\
Routing
\
Router
Illuminate
\
Routing
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
30
64
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Middleware\SubstituteBindings.php
41
63
Illuminate
\
Routing
\
Middleware
\
SubstituteBindings
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
62
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
61
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\VerifyCsrfToken.php
75
60
Illuminate
\
Foundation
\
Http
\
Middleware
\
VerifyCsrfToken
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
59
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
58
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\laravel\framework\src\Illuminate\View\Middleware\ShareErrorsFromSession.php
49
57
Illuminate
\
View
\
Middleware
\
ShareErrorsFromSession
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
56
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
55
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php
63
54
Illuminate
\
Session
\
Middleware
\
StartSession
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
53
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
52
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse.php
37
51
Illuminate
\
Cookie
\
Middleware
\
AddQueuedCookiesToResponse
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
50
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
49
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\EncryptCookies.php
66
48
Illuminate
\
Cookie
\
Middleware
\
EncryptCookies
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
47
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
46
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\mcamara\laravel-localization\src\Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRedirectFilter.php
45
45
Mcamara
\
LaravelLocalization
\
Middleware
\
LaravelLocalizationRedirectFilter
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
44
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
43
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\mcamara\laravel-localization\src\Mcamara\LaravelLocalization\Middleware\LocaleSessionRedirect.php
56
42
Mcamara
\
LaravelLocalization
\
Middleware
\
LocaleSessionRedirect
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
41
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
40
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\mcamara\laravel-localization\src\Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRoutes.php
30
39
Mcamara
\
LaravelLocalization
\
Middleware
\
LaravelLocalizationRoutes
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
38
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
37
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
104
36
Illuminate
\
Pipeline
\
Pipeline
then
…\vendor\laravel\framework\src\Illuminate\Routing\Router.php
684
35
Illuminate
\
Routing
\
Router
runRouteWithinStack
…\vendor\laravel\framework\src\Illuminate\Routing\Router.php
659
34
Illuminate
\
Routing
\
Router
runRoute
…\vendor\laravel\framework\src\Illuminate\Routing\Router.php
625
33
Illuminate
\
Routing
\
Router
dispatchToRoute
…\vendor\laravel\framework\src\Illuminate\Routing\Router.php
614
32
Illuminate
\
Routing
\
Router
dispatch
…\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php
176
31
Illuminate
\
Foundation
\
Http
\
Kernel
Illuminate
\
Foundation
\
Http
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
30
30
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\beyondcode\laravel-query-detector\src\QueryDetectorMiddleware.php
27
29
BeyondCode
\
QueryDetector
\
QueryDetectorMiddleware
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
28
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
27
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\barryvdh\laravel-debugbar\src\Middleware\InjectDebugbar.php
58
26
Barryvdh
\
Debugbar
\
Middleware
\
InjectDebugbar
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
25
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
24
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\app\Http\Middleware\RunUpdater.php
24
23
MIHGroup
\
Http
\
Middleware
\
RunUpdater
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
22
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
21
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\app\Http\Middleware\RedirectToInstallerIfNotInstalled.php
22
20
MIHGroup
\
Http
\
Middleware
\
RedirectToInstallerIfNotInstalled
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
19
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
18
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\fideloper\proxy\src\TrustProxies.php
57
17
Fideloper
\
Proxy
\
TrustProxies
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
16
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
15
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php
31
14
Illuminate
\
Foundation
\
Http
\
Middleware
\
TransformsRequest
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
13
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
12
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php
31
11
Illuminate
\
Foundation
\
Http
\
Middleware
\
TransformsRequest
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
10
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
9
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ValidatePostSize.php
27
8
Illuminate
\
Foundation
\
Http
\
Middleware
\
ValidatePostSize
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
7
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
6
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode.php
62
5
Illuminate
\
Foundation
\
Http
\
Middleware
\
CheckForMaintenanceMode
handle
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
163
4
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php
53
3
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
…\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php
104
2
Illuminate
\
Pipeline
\
Pipeline
then
…\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php
151
1
Illuminate
\
Foundation
\
Http
\
Kernel
sendRequestThroughRouter
…\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php
116
0
Illuminate
\
Foundation
\
Http
\
Kernel
handle
…\public\index.php
55
            'category' => $category,
        ]);
 
        $query = $model->filter($productFilter);
 
        if (request()->has('category')) {
            $productIds = (clone $query)->select('products.id')->resetOrders()->pluck('id');
        }
 
        $products = $query->paginate(request('perPage', 20))
            ->appends(request()->query());
 
 
        if (request()->wantsJson()) {
            return response()->json($products);
        }
        event(new ShowingProductList($products));
 
        $currentCategory = Category::where('slug', $category)->first();
        $subCategories = Category::where('parent_id', $currentCategory->id)
            ->with('children')
            ->orderBy('position', 'asc')
            ->get()->pluck('slug');
 
        $categoryName = ucwords(strtolower($currentCategory->name));
 
        if(count($subCategories) !=0){
            return view('public.category.list', compact( 'products', 'categoryName','subCategories'));
        }else{
 
            $topParentSlug = $currentCategory->getTopParent();
            $topParentSlug2 = $currentCategory->getCurrentParent();
 
            $topParent = $currentCategory->getTopParentSub();
            $MainCategorySubCategories = Category::where('parent_id', $topParent->id)
                ->with('children')
                ->get()->pluck('slug');
 
            if(isset($currentCategory)){
 
Arguments
  1. "Trying to get property 'id' of non-object"
    
            'category' => $category,
        ]);
 
        $query = $model->filter($productFilter);
 
        if (request()->has('category')) {
            $productIds = (clone $query)->select('products.id')->resetOrders()->pluck('id');
        }
 
        $products = $query->paginate(request('perPage', 20))
            ->appends(request()->query());
 
 
        if (request()->wantsJson()) {
            return response()->json($products);
        }
        event(new ShowingProductList($products));
 
        $currentCategory = Category::where('slug', $category)->first();
        $subCategories = Category::where('parent_id', $currentCategory->id)
            ->with('children')
            ->orderBy('position', 'asc')
            ->get()->pluck('slug');
 
        $categoryName = ucwords(strtolower($currentCategory->name));
 
        if(count($subCategories) !=0){
            return view('public.category.list', compact( 'products', 'categoryName','subCategories'));
        }else{
 
            $topParentSlug = $currentCategory->getTopParent();
            $topParentSlug2 = $currentCategory->getCurrentParent();
 
            $topParent = $currentCategory->getTopParentSub();
            $MainCategorySubCategories = Category::where('parent_id', $topParent->id)
                ->with('children')
                ->get()->pluck('slug');
 
            if(isset($currentCategory)){
 
Arguments
  1. 8
    
  2. "Trying to get property 'id' of non-object"
    
  3. "C:\Projects\php\mihgroup\Modules\Product\Http\Controllers\ProductController.php"
    
  4. 90
    
  5. array:7 [
      "category" => "handles"
      "model" => Product {#8131}
      "productFilter" => ProductFilter {#8133}
      "productIds" => Collection {#8181}
      "query" => Builder {#8120}
      "products" => LengthAwarePaginator {#8182}
      "currentCategory" => null
    ]
    
    /**
     * Get the middleware assigned to the controller.
     *
     * @return array
     */
    public function getMiddleware()
    {
        return $this->middleware;
    }
 
    /**
     * Execute an action on the controller.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function callAction($method, $parameters)
    {
        return call_user_func_array([$this, $method], $parameters);
    }
 
    /**
     * Handle calls to missing methods on the controller.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return mixed
     *
     * @throws \BadMethodCallException
     */
    public function __call($method, $parameters)
    {
        throw new BadMethodCallException(sprintf(
            'Method %s::%s does not exist.', static::class, $method
        ));
    }
}
 
Arguments
  1. "handles"
    
  2. Product {#8131}
    
  3. ProductFilter {#8133}
    
    /**
     * Get the middleware assigned to the controller.
     *
     * @return array
     */
    public function getMiddleware()
    {
        return $this->middleware;
    }
 
    /**
     * Execute an action on the controller.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function callAction($method, $parameters)
    {
        return call_user_func_array([$this, $method], $parameters);
    }
 
    /**
     * Handle calls to missing methods on the controller.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return mixed
     *
     * @throws \BadMethodCallException
     */
    public function __call($method, $parameters)
    {
        throw new BadMethodCallException(sprintf(
            'Method %s::%s does not exist.', static::class, $method
        ));
    }
}
 
Arguments
  1. array:2 [
      0 => ProductController {#743}
      1 => "category"
    ]
    
  2. array:3 [
      "slug" => "handles"
      0 => Product {#8131}
      1 => ProductFilter {#8133}
    ]
    
    {
        $this->container = $container;
    }
 
    /**
     * Dispatch a request to a given controller and method.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  mixed  $controller
     * @param  string  $method
     * @return mixed
     */
    public function dispatch(Route $route, $controller, $method)
    {
        $parameters = $this->resolveClassMethodDependencies(
            $route->parametersWithoutNulls(), $controller, $method
        );
 
        if (method_exists($controller, 'callAction')) {
            return $controller->callAction($method, $parameters);
        }
 
        return $controller->{$method}(...array_values($parameters));
    }
 
    /**
     * Get the middleware for the controller instance.
     *
     * @param  \Illuminate\Routing\Controller  $controller
     * @param  string  $method
     * @return array
     */
    public function getMiddleware($controller, $method)
    {
        if (! method_exists($controller, 'getMiddleware')) {
            return [];
        }
 
        return collect($controller->getMiddleware())->reject(function ($data) use ($method) {
            return static::methodExcludedByOptions($method, $data['options']);
Arguments
  1. "category"
    
  2. array:3 [
      "slug" => "handles"
      0 => Product {#8131}
      1 => ProductFilter {#8133}
    ]
    
    protected function runCallable()
    {
        $callable = $this->action['uses'];
 
        return $callable(...array_values($this->resolveMethodDependencies(
            $this->parametersWithoutNulls(), new ReflectionFunction($this->action['uses'])
        )));
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     *
     * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
     */
    protected function runController()
    {
        return $this->controllerDispatcher()->dispatch(
            $this, $this->getController(), $this->getControllerMethod()
        );
    }
 
    /**
     * Get the controller instance for the route.
     *
     * @return mixed
     */
    public function getController()
    {
        if (! $this->controller) {
            $class = $this->parseControllerCallback()[0];
 
            $this->controller = $this->container->make(ltrim($class, '\\'));
        }
 
        return $this->controller;
    }
 
    /**
Arguments
  1. Route {#353}
    
  2. ProductController {#743}
    
  3. "category"
    
     *
     * @throws \UnexpectedValueException
     */
    protected function parseAction($action)
    {
        return RouteAction::parse($this->uri, $action);
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     */
    public function run()
    {
        $this->container = $this->container ?: new Container;
 
        try {
            if ($this->isControllerAction()) {
                return $this->runController();
            }
 
            return $this->runCallable();
        } catch (HttpResponseException $e) {
            return $e->getResponse();
        }
    }
 
    /**
     * Checks whether the route's action is a controller.
     *
     * @return bool
     */
    protected function isControllerAction()
    {
        return is_string($this->action['uses']);
    }
 
    /**
     * Run the route action and return the response.
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
                        ->then(function ($request) use ($route) {
                            return $this->prepareResponse(
                                $request, $route->run()
                            );
                        });
    }
 
    /**
     * Gather the middleware for the given route with resolved class names.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return array
     */
    public function gatherRouteMiddleware(Route $route)
    {
        $middleware = collect($route->gatherMiddleware())->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten();
 
        return $this->sortMiddleware($middleware);
    }
 
    /**
use Symfony\Component\Debug\Exception\FatalThrowableError;
 
/**
 * This extended pipeline catches any exceptions that occur during each slice.
 *
 * The exceptions are converted to HTTP responses for proper middleware handling.
 */
class Pipeline extends BasePipeline
{
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            try {
                return $destination($passable);
            } catch (Exception $e) {
                return $this->handleException($passable, $e);
            } catch (Throwable $e) {
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
     */
    public function __construct(Registrar $router)
    {
        $this->router = $router;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->router->substituteBindings($route = $request->route());
 
        $this->router->substituteImplicitBindings($route);
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#793 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     *
     * @throws \Illuminate\Session\TokenMismatchException
     */
    public function handle($request, Closure $next)
    {
        if (
            $this->isReading($request) ||
            $this->runningUnitTests() ||
            $this->inExceptArray($request) ||
            $this->tokensMatch($request)
        ) {
            return tap($next($request), function ($response) use ($request) {
                if ($this->shouldAddXsrfTokenCookie()) {
                    $this->addCookieToResponse($request, $response);
                }
            });
        }
 
        throw new TokenMismatchException;
    }
 
    /**
     * Determine if the HTTP request uses a ‘read’ verb.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return bool
     */
    protected function isReading($request)
    {
        return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
    }
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#826 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        // If the current session has an "errors" variable bound to it, we will share
        // its value with all view instances so the views can easily access errors
        // without having to bind. An empty bag is set when there aren't errors.
        $this->view->share(
            'errors', $request->session()->get('errors') ?: new ViewErrorBag
        );
 
        // Putting the errors in the view for every view allows the developer to just
        // assume that some errors are always available, which is convenient since
        // they don't have to continually run checks for the presence of errors.
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#827 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->sessionHandled = true;
 
        // If a session driver has been configured, we will need to start the session here
        // so that the data is ready for an application. Note that the Laravel sessions
        // do not make use of PHP "native" sessions in any way since they are crappy.
        if ($this->sessionConfigured()) {
            $request->setLaravelSession(
                $session = $this->startSession($request)
            );
 
            $this->collectGarbage($session);
        }
 
        $response = $next($request);
 
        // Again, if the session has been configured we will need to close out the session
        // so that the attributes may be persisted to some storage medium. We will also
        // add the session identifier cookie to the application response headers now.
        if ($this->sessionConfigured()) {
            $this->storeCurrentUrl($request, $session);
 
            $this->addCookieToResponse($response, $session);
        }
 
        return $response;
    }
 
    /**
     * Perform any final actions for the request lifecycle.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Symfony\Component\HttpFoundation\Response  $response
     * @return void
     */
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#828 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
     * Create a new CookieQueue instance.
     *
     * @param  \Illuminate\Contracts\Cookie\QueueingFactory  $cookies
     * @return void
     */
    public function __construct(CookieJar $cookies)
    {
        $this->cookies = $cookies;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $response = $next($request);
 
        foreach ($this->cookies->getQueuedCookies() as $cookie) {
            $response->headers->setCookie($cookie);
        }
 
        return $response;
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#829 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
     * Disable encryption for the given cookie name(s).
     *
     * @param  string|array  $name
     * @return void
     */
    public function disableFor($name)
    {
        $this->except = array_merge($this->except, (array) $name);
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function handle($request, Closure $next)
    {
        return $this->encrypt($next($this->decrypt($request)));
    }
 
    /**
     * Decrypt the cookies on the request.
     *
     * @param  \Symfony\Component\HttpFoundation\Request  $request
     * @return \Symfony\Component\HttpFoundation\Request
     */
    protected function decrypt(Request $request)
    {
        foreach ($request->cookies as $key => $cookie) {
            if ($this->isDisabled($key)) {
                continue;
            }
 
            try {
                $request->cookies->set($key, $this->decryptCookie($key, $cookie));
            } catch (DecryptException $e) {
                $request->cookies->set($key, null);
            }
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#830 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
 
        // Dump the first element (empty string) as getPathInfo() always returns a leading slash
        array_shift($params);
 
        if (\count($params) > 0) {
            $locale = $params[0];
 
            if (app('laravellocalization')->checkLocaleInSupportedLocales($locale)) {
                if (app('laravellocalization')->isHiddenDefault($locale)) {
                    $redirection = app('laravellocalization')->getNonLocalizedURL();
 
                    // Save any flashed data for redirect
                    app('session')->reflash();
 
                    return new RedirectResponse($redirection, 302, ['Vary' => 'Accept-Language']);
                }
            }
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#831 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
          // then compute browser language when no session has been set.
          // Once the session has been set, there is no need
          // to negotiate language from browser again.
          $negotiator = new LanguageNegotiator(app('laravellocalization')->getDefaultLocale(), app('laravellocalization')->getSupportedLocales(), $request);
          $locale     = $negotiator->negotiateLanguage();
          session(['locale' => $locale]);
        }
 
        if($locale === false){
          $locale = app('laravellocalization')->getCurrentLocale();
        }
 
        if ($locale && app('laravellocalization')->checkLocaleInSupportedLocales($locale) && !(app('laravellocalization')->isHiddenDefault($locale))) {
            app('session')->reflash();
            $redirection = app('laravellocalization')->getLocalizedURL($locale);
 
            return new RedirectResponse($redirection, 302, ['Vary' => 'Accept-Language']);
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#832 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
     *
     * @param \Illuminate\Http\Request $request
     * @param \Closure                 $next
     *
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        // If the URL of the request is in exceptions.
        if ($this->shouldIgnore($request)) {
            return $next($request);
        }
 
        $app = app();
 
        $routeName = $app['laravellocalization']->getRouteNameFromAPath($request->getUri());
 
        $app['laravellocalization']->setRouteName($routeName);
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#833 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
    public function via($method)
    {
        $this->method = $method;
 
        return $this;
    }
 
    /**
     * Run the pipeline with a final destination callback.
     *
     * @param  \Closure  $destination
     * @return mixed
     */
    public function then(Closure $destination)
    {
        $pipeline = array_reduce(
            array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
        );
 
        return $pipeline($this->passable);
    }
 
    /**
     * Run the pipeline and return the result.
     *
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
                        ->then(function ($request) use ($route) {
                            return $this->prepareResponse(
                                $request, $route->run()
                            );
                        });
    }
 
    /**
     * Gather the middleware for the given route with resolved class names.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return array
     */
    public function gatherRouteMiddleware(Route $route)
    {
        $middleware = collect($route->gatherMiddleware())->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten();
 
        return $this->sortMiddleware($middleware);
    }
 
    /**
     * Sort the given middleware by priority.
     *
Arguments
  1. Closure($request) {#809 …6}
    
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Routing\Route  $route
     * @return mixed
     */
    protected function runRoute(Request $request, Route $route)
    {
        $request->setRouteResolver(function () use ($route) {
            return $route;
        });
 
        $this->events->dispatch(new Events\RouteMatched($route, $request));
 
        return $this->prepareResponse($request,
            $this->runRouteWithinStack($route, $request)
        );
    }
 
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
Arguments
  1. Route {#353}
    
  2. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
    {
        $this->current = $route = $this->routes->match($request);
 
        $this->container->instance(Route::class, $route);
 
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Route {#353}
    
     * @return mixed
     */
    public function respondWithRoute($name)
    {
        $route = tap($this->routes->getByName($name))->bind($this->currentRequest);
 
        return $this->runRoute($this->currentRequest, $route);
    }
 
    /**
     * Dispatch the request to the application.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
     * @return void
     */
    public function bootstrap()
    {
        if (! $this->app->hasBeenBootstrapped()) {
            $this->app->bootstrapWith($this->bootstrappers());
        }
    }
 
    /**
     * Get the route dispatcher callback.
     *
     * @return \Closure
     */
    protected function dispatchToRouter()
    {
        return function ($request) {
            $this->app->instance('request', $request);
 
            return $this->router->dispatch($request);
        };
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        $this->terminateMiddleware($request, $response);
 
        $this->app->terminate();
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
use Symfony\Component\Debug\Exception\FatalThrowableError;
 
/**
 * This extended pipeline catches any exceptions that occur during each slice.
 *
 * The exceptions are converted to HTTP responses for proper middleware handling.
 */
class Pipeline extends BasePipeline
{
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            try {
                return $destination($passable);
            } catch (Exception $e) {
                return $this->handleException($passable, $e);
            } catch (Throwable $e) {
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
{
    /** @var QueryDetector */
    private $detector;
 
    public function __construct(QueryDetector $detector)
    {
        $this->detector = $detector;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  Request  $request
     * @param  Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (! $this->detector->isEnabled()) {
            return $next($request);
        }
 
        $this->detector->boot();
 
        /** @var \Illuminate\Http\Response $response */
        $response = $next($request);
 
        // Modify the response to add the Debugbar
        $this->detector->output($request, $response);
 
        return $response;
    }
}
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#726 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
     * @param  LaravelDebugbar $debugbar
     */
    public function __construct(Container $container, LaravelDebugbar $debugbar)
    {
        $this->container = $container;
        $this->debugbar = $debugbar;
        $this->except = config('debugbar.except') ?: [];
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  Request  $request
     * @param  Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (!$this->debugbar->isEnabled() || $this->inExceptArray($request)) {
            return $next($request);
        }
 
        $this->debugbar->boot();
 
        try {
            /** @var \Illuminate\Http\Response $response */
            $response = $next($request);
        } catch (Exception $e) {
            $response = $this->handleException($request, $e);
        } catch (Error $error) {
            $e = new FatalThrowableError($error);
            $response = $this->handleException($request, $e);
        }
 
        // Modify the response to add the Debugbar
        $this->debugbar->modifyResponse($request, $response);
 
        return $response;
 
    }
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#761 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
use Closure;
use MIHGroup\Updater;
use Illuminate\Support\Facades\File;
 
class RunUpdater
{
    /**
     * Handle an incoming request.
     *
     * @param \Illuminate\Http\Request $request
     * @param \Closure $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (File::exists(storage_path('app/update'))) {
            Updater::run();
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#760 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
namespace MIHGroup\Http\Middleware;
 
use Closure;
 
class RedirectToInstallerIfNotInstalled
{
    /**
     * Handle an incoming request.
     *
     * @param \Illuminate\Http\Request $request
     * @param \Closure $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (! config('app.installed') && ! $request->is('install/*')) {
            return redirect('install/pre-installation');
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#728 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
    {
        $this->config = $config;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param \Illuminate\Http\Request $request
     * @param \Closure                 $next
     *
     * @throws \Symfony\Component\HttpKernel\Exception\HttpException
     *
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        $request::setTrustedProxies([], $this->getTrustedHeaderNames()); // Reset trusted proxies between requests
        $this->setTrustedProxyIpAddresses($request);
 
        return $next($request);
    }
 
    /**
     * Sets the trusted proxies on the request to the value of trustedproxy.proxies
     *
     * @param \Illuminate\Http\Request $request
     */
    protected function setTrustedProxyIpAddresses(Request $request)
    {
        $trustedIps = $this->proxies ?: $this->config->get('trustedproxy.proxies');
 
        // Trust any IP address that calls us
        // `**` for backwards compatibility, but is deprecated
        if ($trustedIps === '*' || $trustedIps === '**') {
            return $this->setTrustedProxyIpAddressesToTheCallingIp($request);
        }
 
        // Support IPs addresses separated by comma
        $trustedIps = is_string($trustedIps) ? array_map('trim', explode(',', $trustedIps)) : $trustedIps;
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#763 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
     *
     * @var array
     */
    protected $attributes = [];
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  array  ...$attributes
     * @return mixed
     */
    public function handle($request, Closure $next, ...$attributes)
    {
        $this->attributes = $attributes;
 
        $this->clean($request);
 
        return $next($request);
    }
 
    /**
     * Clean the request's data.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return void
     */
    protected function clean($request)
    {
        $this->cleanParameterBag($request->query);
 
        if ($request->isJson()) {
            $this->cleanParameterBag($request->json());
        } elseif ($request->request !== $request->query) {
            $this->cleanParameterBag($request->request);
        }
    }
 
    /**
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#762 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
     *
     * @var array
     */
    protected $attributes = [];
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  array  ...$attributes
     * @return mixed
     */
    public function handle($request, Closure $next, ...$attributes)
    {
        $this->attributes = $attributes;
 
        $this->clean($request);
 
        return $next($request);
    }
 
    /**
     * Clean the request's data.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return void
     */
    protected function clean($request)
    {
        $this->cleanParameterBag($request->query);
 
        if ($request->isJson()) {
            $this->cleanParameterBag($request->json());
        } elseif ($request->request !== $request->query) {
            $this->cleanParameterBag($request->request);
        }
    }
 
    /**
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#730 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
class ValidatePostSize
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     *
     * @throws \Illuminate\Http\Exceptions\PostTooLargeException
     */
    public function handle($request, Closure $next)
    {
        $max = $this->getPostMaxSize();
 
        if ($max > 0 && $request->server('CONTENT_LENGTH') > $max) {
            throw new PostTooLargeException;
        }
 
        return $next($request);
    }
 
    /**
     * Determine the server 'post_max_size' as bytes.
     *
     * @return int
     */
    protected function getPostMaxSize()
    {
        if (is_numeric($postMaxSize = ini_get('post_max_size'))) {
            return (int) $postMaxSize;
        }
 
        $metric = strtoupper(substr($postMaxSize, -1));
        $postMaxSize = (int) $postMaxSize;
 
        switch ($metric) {
            case 'K':
                return $postMaxSize * 1024;
            case 'M':
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#767 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
     *
     * @throws \Symfony\Component\HttpKernel\Exception\HttpException
     */
    public function handle($request, Closure $next)
    {
        if ($this->app->isDownForMaintenance()) {
            $data = json_decode(file_get_contents($this->app->storagePath().'/framework/down'), true);
 
            if (isset($data['allowed']) && IpUtils::checkIp($request->ip(), (array) $data['allowed'])) {
                return $next($request);
            }
 
            if ($this->inExceptArray($request)) {
                return $next($request);
            }
 
            throw new MaintenanceModeException($data['time'], $data['retry'], $data['message']);
        }
 
        return $next($request);
    }
 
    /**
     * Determine if the request has a URI that should be accessible in maintenance mode.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return bool
     */
    protected function inExceptArray($request)
    {
        foreach ($this->except as $except) {
            if ($except !== '/') {
                $except = trim($except, '/');
            }
 
            if ($request->fullUrlIs($except) || $request->is($except)) {
                return true;
            }
        }
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    [$name, $parameters] = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->getContainer()->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#766 …6}
    
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
    public function via($method)
    {
        $this->method = $method;
 
        return $this;
    }
 
    /**
     * Run the pipeline with a final destination callback.
     *
     * @param  \Closure  $destination
     * @return mixed
     */
    public function then(Closure $destination)
    {
        $pipeline = array_reduce(
            array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
        );
 
        return $pipeline($this->passable);
    }
 
    /**
     * Run the pipeline and return the result.
     *
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
    }
 
    /**
     * Send the given request through the middleware / router.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    protected function sendRequestThroughRouter($request)
    {
        $this->app->instance('request', $request);
 
        Facade::clearResolvedInstance('request');
 
        $this->bootstrap();
 
        return (new Pipeline($this->app))
                    ->send($request)
                    ->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
                    ->then($this->dispatchToRouter());
    }
 
    /**
     * Bootstrap the application for HTTP requests.
     *
     * @return void
     */
    public function bootstrap()
    {
        if (! $this->app->hasBeenBootstrapped()) {
            $this->app->bootstrapWith($this->bootstrappers());
        }
    }
 
    /**
     * Get the route dispatcher callback.
     *
     * @return \Closure
     */
    protected function dispatchToRouter()
Arguments
  1. Closure($request) {#31 …5}
    
            $router->middlewareGroup($key, $middleware);
        }
 
        foreach ($this->routeMiddleware as $key => $middleware) {
            $router->aliasMiddleware($key, $middleware);
        }
    }
 
    /**
     * Handle an incoming HTTP request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function handle($request)
    {
        try {
            $request->enableHttpMethodParameterOverride();
 
            $response = $this->sendRequestThroughRouter($request);
        } catch (Exception $e) {
            $this->reportException($e);
 
            $response = $this->renderException($request, $e);
        } catch (Throwable $e) {
            $this->reportException($e = new FatalThrowableError($e));
 
            $response = $this->renderException($request, $e);
        }
 
        $this->app['events']->dispatch(
            new Events\RequestHandled($request, $response)
        );
 
        return $response;
    }
 
    /**
     * Send the given request through the middleware / router.
     *
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
*/
 
$app = require_once __DIR__ . '/../bootstrap/app.php';
 
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
 
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
 
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
 
$response->send();
 
$kernel->terminate($request, $response);
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure() {#794 …5}
      #routeResolver: Closure() {#802 …5}
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:8 [
        0 => "text/html"
        1 => "image/png"
        2 => "image/jpeg"
        3 => "image/pjpeg"
        4 => "image/x-xbitmap"
        5 => "image/svg+xml"
        6 => "image/gif"
        7 => "*/*"
      ]
      #pathInfo: "/category/handles"
      #requestUri: "/category/handles"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#841}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    

Environment & details:

empty
empty
empty
Key Value
$Version
"1"
XSRF-TOKEN
"eyJpdiI6IjB2Q2hrTUxnYzVva1BXSFJPWlBhN1E9PSIsInZhbHVlIjoiSVhpalwvSVlWUG4xNXJwdDFiY1lsbmNveVwvRDJnUTVkWVVkZStiQktSUUdBNkZGcHpzdWt4eUZhVDBncEkxS1k2IiwibWFjIjoiNzhmZDMxNTNhNjliZGYzNzQ5NTE2ZGI2YjUxZjIxMDBiNDY0NjkwYjk3NmI1NmU1NDM5NDU5ZWY2NzU2ZDAwZiJ9"
$Path
"/"
mihgroup_session
"eyJpdiI6ImZlNUNCZUFnTWdBU2cxdjBCamFncUE9PSIsInZhbHVlIjoiUXpRcEtkeG5RNFlHOUx3b3ZTV0I3czRPQ0g5ajE4OE9GYzVQUDNvWGJnUGNiNTJUV3FcLzFWWEdcL3A0T0Q1WUNcLyIsIm1hYyI6ImQyMTJhYjI3YmRjYzlhM2Q3YjU2ZWQ5NzhhYWUwYTI1ZmFjZTkzOThkYzk4OWZiMzg5ODUxMjFhYzIzNjM1MDMifQ=="
empty
Key Value
REDIRECT_REDIRECT_STATUS
"200"
REDIRECT_STATUS
"200"
HTTP_REFERER
"http://mihgroup.ae/"
HTTP_COOKIE
"$Version=1; XSRF-TOKEN=eyJpdiI6IjB2Q2hrTUxnYzVva1BXSFJPWlBhN1E9PSIsInZhbHVlIjoiSVhpalwvSVlWUG4xNXJwdDFiY1lsbmNveVwvRDJnUTVkWVVkZStiQktSUUdBNkZGcHpzdWt4eUZhVDBncEkxS1k2IiwibWFjIjoiNzhmZDMxNTNhNjliZGYzNzQ5NTE2ZGI2YjUxZjIxMDBiNDY0NjkwYjk3NmI1NmU1NDM5NDU5ZWY2NzU2ZDAwZiJ9; $Path=/; mihgroup_session=eyJpdiI6ImZlNUNCZUFnTWdBU2cxdjBCamFncUE9PSIsInZhbHVlIjoiUXpRcEtkeG5RNFlHOUx3b3ZTV0I3czRPQ0g5ajE4OE9GYzVQUDNvWGJnUGNiNTJUV3FcLzFWWEdcL3A0T0Q1WUNcLyIsIm1hYyI6ImQyMTJhYjI3YmRjYzlhM2Q3YjU2ZWQ5NzhhYWUwYTI1ZmFjZTkzOThkYzk4OWZiMzg5ODUxMjFhYzIzNjM1MDMifQ%3D%3D; $Path=/"
HTTP_CONNECTION
"keep-alive"
HTTP_HOST
"mihgroup.ae"
HTTP_USER_AGENT
"Mozilla/4.5 (compatible; HTTrack 3.0x; Windows 98)"
HTTP_ACCEPT
"text/html,image/png,image/jpeg,image/pjpeg,image/x-xbitmap,image/svg+xml,image/gif;q=0.9,*/*;q=0.1"
HTTP_ACCEPT_LANGUAGE
"en, *"
HTTP_ACCEPT_ENCODING
"gzip, identity;q=0.9"
PATH
"C:\Program Files\Microsoft MPI\Bin\;C:\Oracle\db_home\bin;C:\Users\Akbar\Desktop\WINDOWS.X64_193000_db_home\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files\Git\cmd;C:\wamp64\bin\php\php7.3.12;C:\ProgramData\ComposerSetup\bin;C:\Program Files\Java\jdk-11.0.7\bin;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Users\Akbar\AppData\Local\Microsoft\WindowsApps;C:\Users\Akbar\AppData\Local\JetBrains\IntelliJ IDEA 2019.3.4\bi;C:\Program Files\PuTTY\;C:\Program Files\nodejs\;C:\Program Files (x86)\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files\Azure Data Studio\bin;C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\160\DTS\Binn\;C:\Program Files\Microsoft SQL Server Migration Assistant for MySQL\bin\;C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\WindowsApps"
SystemRoot
"C:\Windows"
COMSPEC
"C:\Windows\system32\cmd.exe"
PATHEXT
".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.php"
WINDIR
"C:\Windows"
SERVER_SIGNATURE
"<address>Apache/2.4.57 (Win64) PHP/7.3.12 mod_fcgid/2.3.10-dev Server at mihgroup.ae Port 80</address>\n"
SERVER_SOFTWARE
"Apache/2.4.57 (Win64) PHP/7.3.12 mod_fcgid/2.3.10-dev"
SERVER_NAME
"mihgroup.ae"
SERVER_ADDR
"::1"
SERVER_PORT
"80"
REMOTE_ADDR
"::1"
DOCUMENT_ROOT
"C:/Projects/php/mihgroup"
REQUEST_SCHEME
"http"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"C:/Projects/php/mihgroup"
SERVER_ADMIN
"wampserver@wampserver.invalid"
SCRIPT_FILENAME
"C:/Projects/php/mihgroup/public/index.php"
REMOTE_PORT
"64442"
REDIRECT_URL
"/public/category/handles"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/category/handles"
SCRIPT_NAME
"/public/index.php"
PHP_SELF
"/public/index.php"
REQUEST_TIME_FLOAT
1693920015.404
REQUEST_TIME
1693920015
APP_ENV
"production"
APP_DEBUG
"true"
APP_CACHE
"true"
APP_INSTALLED
"true"
APP_EDITOR
"vscode"
APP_KEY
"base64:0901Re3BX55N509H2iX9nrlXIk78mHG/b1gPfXjGXN4="
APP_URL
"http://mihgroup.ae"
ASSET_URL
"http://mihgroup.ae/public"
LOG_CHANNEL
"stack"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"mihgroup"
DB_USERNAME
"root"
DB_PASSWORD
""
QUEUE_DRIVER
"sync"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
FILESYSTEM_DRIVER
"public_storage"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.mailtrap.io"
MAIL_PORT
"2525"
MAIL_USERNAME
"null"
MAIL_PASSWORD
"null"
MAIL_FROM_ADDRESS
"null"
MAIL_FROM_NAME
"null"
MAIL_ENCRYPTION
"null"
SCOUT_QUEUE
"false"
DEBUGBAR_ENABLED
"false"
QUERY_DETECTOR_ENABLED
"false"
Key Value
APP_ENV
"production"
APP_DEBUG
"true"
APP_CACHE
"true"
APP_INSTALLED
"true"
APP_EDITOR
"vscode"
APP_KEY
"base64:0901Re3BX55N509H2iX9nrlXIk78mHG/b1gPfXjGXN4="
APP_URL
"http://mihgroup.ae"
ASSET_URL
"http://mihgroup.ae/public"
LOG_CHANNEL
"stack"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"mihgroup"
DB_USERNAME
"root"
DB_PASSWORD
""
QUEUE_DRIVER
"sync"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
FILESYSTEM_DRIVER
"public_storage"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.mailtrap.io"
MAIL_PORT
"2525"
MAIL_USERNAME
"null"
MAIL_PASSWORD
"null"
MAIL_FROM_ADDRESS
"null"
MAIL_FROM_NAME
"null"
MAIL_ENCRYPTION
"null"
SCOUT_QUEUE
"false"
DEBUGBAR_ENABLED
"false"
QUERY_DETECTOR_ENABLED
"false"
0. Whoops\Handler\PrettyPageHandler