ErrorException (E_ERROR)
Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files. (View: /var/www/html/resources/views/website/restaurant/header.blade.php) (View: /var/www/html/resources/views/website/restaurant/header.blade.php)
Previous exceptions
  • Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files. (View: /var/www/html/resources/views/website/restaurant/header.blade.php) (0)
  • Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files. (0)
ErrorException thrown with message "Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files. (View: /var/www/html/resources/views/website/restaurant/header.blade.php) (View: /var/www/html/resources/views/website/restaurant/header.blade.php)" Stacktrace: #89 ErrorException in /var/www/html/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php:59 #88 Illuminate\View\Engines\CompilerEngine:handleViewException in /var/www/html/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:45 #87 ErrorException in /var/www/html/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php:59 #86 Illuminate\View\Engines\CompilerEngine:handleViewException in /var/www/html/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:45 #85 Intervention\Image\Exception\NotReadableException in /var/www/html/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php:59 #84 Intervention\Image\Gd\Decoder:initFromPath in /var/www/html/vendor/intervention/image/src/Intervention/Image/AbstractDecoder.php:339 #83 Intervention\Image\AbstractDecoder:init in /var/www/html/vendor/intervention/image/src/Intervention/Image/AbstractDriver.php:66 #82 Intervention\Image\AbstractDriver:init in /var/www/html/vendor/intervention/image/src/Intervention/Image/ImageManager.php:54 #81 Intervention\Image\ImageManager:make in /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:237 #80 Illuminate\Support\Facades\Facade:__callStatic in /var/www/html/app/laraCms/Tools/ImgHelper.php:87 #79 App\LaraCms\Tools\ImgHelper:open in /var/www/html/app/laraCms/Tools/ImgHelper.php:203 #78 App\LaraCms\Tools\ImgHelper:get in /var/www/html/app/laraCms/Tools/ImgHelper.php:246 #77 App\LaraCms\Tools\ImgHelper:get_cached in /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:237 #76 Illuminate\Support\Facades\Facade:__callStatic in /var/www/html/storage/framework/views/46a889d6e370bb34418bc5d3942ab0048da65855.php:1 #75 include in /var/www/html/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:43 #74 Illuminate\View\Engines\PhpEngine:evaluatePath in /var/www/html/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 #73 Illuminate\View\Engines\CompilerEngine:get in /var/www/html/vendor/laravel/framework/src/Illuminate/View/View.php:142 #72 Illuminate\View\View:getContents in /var/www/html/vendor/laravel/framework/src/Illuminate/View/View.php:125 #71 Illuminate\View\View:renderContents in /var/www/html/vendor/laravel/framework/src/Illuminate/View/View.php:90 #70 Illuminate\View\View:render in /var/www/html/storage/framework/views/3d9388820d41b574e714621a48ed5d3901d29224.php:6 #69 include in /var/www/html/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:43 #68 Illuminate\View\Engines\PhpEngine:evaluatePath in /var/www/html/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 #67 Illuminate\View\Engines\CompilerEngine:get in /var/www/html/vendor/laravel/framework/src/Illuminate/View/View.php:142 #66 Illuminate\View\View:getContents in /var/www/html/vendor/laravel/framework/src/Illuminate/View/View.php:125 #65 Illuminate\View\View:renderContents in /var/www/html/vendor/laravel/framework/src/Illuminate/View/View.php:90 #64 Illuminate\View\View:render in /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Response.php:42 #63 Illuminate\Http\Response:setContent in /var/www/html/vendor/symfony/http-foundation/Response.php:202 #62 Symfony\Component\HttpFoundation\Response:__construct in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php:748 #61 Illuminate\Routing\Router:toResponse in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php:720 #60 Illuminate\Routing\Router:prepareResponse in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php:680 #59 Illuminate\Routing\Router:Illuminate\Routing\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 #58 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/app/laraCms/Middleware/UserCart.php:19 #57 App\LaraCms\Middleware\UserCart:handle in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163 #56 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #55 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/vendor/mcamara/laravel-localization/src/Mcamara/LaravelLocalization/Middleware/LaravelLocalizationRedirectFilter.php:55 #54 Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRedirectFilter:handle in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163 #53 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #52 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/app/laraCms/Middleware/GFShieldMiddleware.php:59 #51 App\LaraCms\Middleware\GFShieldMiddleware:handle in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163 #50 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #49 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41 #48 Illuminate\Routing\Middleware\SubstituteBindings:handle in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163 #47 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #46 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:75 #45 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken:handle in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163 #44 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #43 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 #42 Illuminate\View\Middleware\ShareErrorsFromSession:handle in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163 #41 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #40 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:56 #39 Illuminate\Session\Middleware\StartSession:handle in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163 #38 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #37 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 #36 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse:handle in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163 #35 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #34 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:66 #33 Illuminate\Cookie\Middleware\EncryptCookies:handle in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163 #32 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #31 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:104 #30 Illuminate\Pipeline\Pipeline:then in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php:682 #29 Illuminate\Routing\Router:runRouteWithinStack in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php:657 #28 Illuminate\Routing\Router:runRoute in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php:623 #27 Illuminate\Routing\Router:dispatchToRoute in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php:612 #26 Illuminate\Routing\Router:dispatch in /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:176 #25 Illuminate\Foundation\Http\Kernel:Illuminate\Foundation\Http\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 #24 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php:58 #23 Barryvdh\Debugbar\Middleware\InjectDebugbar:handle in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163 #22 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #21 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/app/laraCms/Middleware/ForceSSLMiddleware.php:31 #20 App\LaraCms\Middleware\ForceSSLMiddleware:handle in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163 #19 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #18 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/vendor/fideloper/proxy/src/TrustProxies.php:57 #17 Fideloper\Proxy\TrustProxies:handle in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163 #16 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #15 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21 #14 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163 #13 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #12 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21 #11 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163 #10 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #9 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27 #8 Illuminate\Foundation\Http\Middleware\ValidatePostSize:handle in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163 #7 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #6 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:62 #5 Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode:handle in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163 #4 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #3 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:104 #2 Illuminate\Pipeline\Pipeline:then in /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:151 #1 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:116 #0 Illuminate\Foundation\Http\Kernel:handle in /var/www/html/public/index.php:55
89
ErrorException
/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php59
88
Illuminate\View\Engines\CompilerEngine handleViewException
/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php45
87
ErrorException
/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php59
86
Illuminate\View\Engines\CompilerEngine handleViewException
/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php45
85
Intervention\Image\Exception\NotReadableException
/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php59
84
Intervention\Image\Gd\Decoder initFromPath
/vendor/intervention/image/src/Intervention/Image/AbstractDecoder.php339
83
Intervention\Image\AbstractDecoder init
/vendor/intervention/image/src/Intervention/Image/AbstractDriver.php66
82
Intervention\Image\AbstractDriver init
/vendor/intervention/image/src/Intervention/Image/ImageManager.php54
81
Intervention\Image\ImageManager make
/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php237
80
Illuminate\Support\Facades\Facade __callStatic
/app/laraCms/Tools/ImgHelper.php87
79
App\LaraCms\Tools\ImgHelper open
/app/laraCms/Tools/ImgHelper.php203
78
App\LaraCms\Tools\ImgHelper get
/app/laraCms/Tools/ImgHelper.php246
77
App\LaraCms\Tools\ImgHelper get_cached
/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php237
76
Illuminate\Support\Facades\Facade __callStatic
/storage/framework/views/46a889d6e370bb34418bc5d3942ab0048da65855.php1
75
include
/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php43
74
Illuminate\View\Engines\PhpEngine evaluatePath
/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php59
73
Illuminate\View\Engines\CompilerEngine get
/vendor/laravel/framework/src/Illuminate/View/View.php142
72
Illuminate\View\View getContents
/vendor/laravel/framework/src/Illuminate/View/View.php125
71
Illuminate\View\View renderContents
/vendor/laravel/framework/src/Illuminate/View/View.php90
70
Illuminate\View\View render
/storage/framework/views/3d9388820d41b574e714621a48ed5d3901d29224.php6
69
include
/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php43
68
Illuminate\View\Engines\PhpEngine evaluatePath
/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php59
67
Illuminate\View\Engines\CompilerEngine get
/vendor/laravel/framework/src/Illuminate/View/View.php142
66
Illuminate\View\View getContents
/vendor/laravel/framework/src/Illuminate/View/View.php125
65
Illuminate\View\View renderContents
/vendor/laravel/framework/src/Illuminate/View/View.php90
64
Illuminate\View\View render
/vendor/laravel/framework/src/Illuminate/Http/Response.php42
63
Illuminate\Http\Response setContent
/vendor/symfony/http-foundation/Response.php202
62
Symfony\Component\HttpFoundation\Response __construct
/vendor/laravel/framework/src/Illuminate/Routing/Router.php748
61
Illuminate\Routing\Router toResponse
/vendor/laravel/framework/src/Illuminate/Routing/Router.php720
60
Illuminate\Routing\Router prepareResponse
/vendor/laravel/framework/src/Illuminate/Routing/Router.php680
59
Illuminate\Routing\Router Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php30
58
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/app/laraCms/Middleware/UserCart.php19
57
App\LaraCms\Middleware\UserCart handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php163
56
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53
55
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/vendor/mcamara/laravel-localization/src/Mcamara/LaravelLocalization/Middleware/LaravelLocalizationRedirectFilter.php55
54
Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRedirectFilter handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php163
53
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53
52
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/app/laraCms/Middleware/GFShieldMiddleware.php59
51
App\LaraCms\Middleware\GFShieldMiddleware handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php163
50
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53
49
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php41
48
Illuminate\Routing\Middleware\SubstituteBindings handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php163
47
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53
46
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php75
45
Illuminate\Foundation\Http\Middleware\VerifyCsrfToken handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php163
44
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53
43
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php49
42
Illuminate\View\Middleware\ShareErrorsFromSession handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php163
41
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53
40
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php56
39
Illuminate\Session\Middleware\StartSession handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php163
38
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53
37
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php37
36
Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php163
35
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53
34
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php66
33
Illuminate\Cookie\Middleware\EncryptCookies handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php163
32
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53
31
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php104
30
Illuminate\Pipeline\Pipeline then
/vendor/laravel/framework/src/Illuminate/Routing/Router.php682
29
Illuminate\Routing\Router runRouteWithinStack
/vendor/laravel/framework/src/Illuminate/Routing/Router.php657
28
Illuminate\Routing\Router runRoute
/vendor/laravel/framework/src/Illuminate/Routing/Router.php623
27
Illuminate\Routing\Router dispatchToRoute
/vendor/laravel/framework/src/Illuminate/Routing/Router.php612
26
Illuminate\Routing\Router dispatch
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php176
25
Illuminate\Foundation\Http\Kernel Illuminate\Foundation\Http\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php30
24
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php58
23
Barryvdh\Debugbar\Middleware\InjectDebugbar handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php163
22
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53
21
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/app/laraCms/Middleware/ForceSSLMiddleware.php31
20
App\LaraCms\Middleware\ForceSSLMiddleware handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php163
19
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53
18
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/vendor/fideloper/proxy/src/TrustProxies.php57
17
Fideloper\Proxy\TrustProxies handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php163
16
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53
15
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php21
14
Illuminate\Foundation\Http\Middleware\TransformsRequest handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php163
13
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53
12
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php21
11
Illuminate\Foundation\Http\Middleware\TransformsRequest handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php163
10
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53
9
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php27
8
Illuminate\Foundation\Http\Middleware\ValidatePostSize handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php163
7
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53
6
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php62
5
Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php163
4
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php53
3
Illuminate\Routing\Pipeline Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php104
2
Illuminate\Pipeline\Pipeline then
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php151
1
Illuminate\Foundation\Http\Kernel sendRequestThroughRouter
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php116
0
Illuminate\Foundation\Http\Kernel handle
/public/index.php55
                    $core= @imagecreatefromstring(file_get_contents($path));
                }
                break;
 
            case 'image/gif':
                $core = @imagecreatefromgif($path);
                break;
 
            case 'image/webp':
            case 'image/x-webp':
                if ( ! function_exists('imagecreatefromwebp')) {
                    throw new NotReadableException(
                        "Unsupported image type. GD/PHP installation does not support WebP format."
                    );
                }
                $core = @imagecreatefromwebp($path);
                break;
 
            default:
                throw new NotReadableException(
                    "Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files."
                );
        }
 
        if (empty($core)) {
            throw new NotReadableException(
                "Unable to decode image from file ({$path})."
            );
        }
 
        $this->gdResourceToTruecolor($core);
 
        // build image
        $image = $this->initFromGdResource($core);
        $image->mime = $mime;
        $image->setFileInfoFromPath($path);
 
        return $image;
    }
 
Arguments
  1. "Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files. (View: /var/www/html/resources/views/website/restaurant/header.blade.php) (View: /var/www/html/resources/views/website/restaurant/header.blade.php)"
    
     *
     * @param  string  $__path
     * @param  array   $__data
     * @return string
     */
    protected function evaluatePath($__path, $__data)
    {
        $obLevel = ob_get_level();
 
        ob_start();
 
        extract($__data, EXTR_SKIP);
 
        // We'll evaluate the contents of the view inside a try/catch block so we can
        // flush out any stray output that might get out before an error occurs or
        // an exception is thrown. This prevents any partial views from leaking.
        try {
            include $__path;
        } catch (Exception $e) {
            $this->handleViewException($e, $obLevel);
        } catch (Throwable $e) {
            $this->handleViewException(new FatalThrowableError($e), $obLevel);
        }
 
        return ltrim(ob_get_clean());
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Exception
     */
    protected function handleViewException(Exception $e, $obLevel)
    {
        while (ob_get_level() > $obLevel) {
            ob_end_clean();
Arguments
  1. ErrorException {#1925
      #message: "Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files. (View: /var/www/html/resources/views/website/restaurant/header.blade.php)"
      #code: 0
      #file: "/var/www/html/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php"
      #line: 59
      -previous: NotReadableException {#1924
        #message: "Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files."
        #code: 0
        #file: "/var/www/html/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php"
        #line: 59
      }
      #severity: E_ERROR
    }
    
  2. 0
    
                    $core= @imagecreatefromstring(file_get_contents($path));
                }
                break;
 
            case 'image/gif':
                $core = @imagecreatefromgif($path);
                break;
 
            case 'image/webp':
            case 'image/x-webp':
                if ( ! function_exists('imagecreatefromwebp')) {
                    throw new NotReadableException(
                        "Unsupported image type. GD/PHP installation does not support WebP format."
                    );
                }
                $core = @imagecreatefromwebp($path);
                break;
 
            default:
                throw new NotReadableException(
                    "Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files."
                );
        }
 
        if (empty($core)) {
            throw new NotReadableException(
                "Unable to decode image from file ({$path})."
            );
        }
 
        $this->gdResourceToTruecolor($core);
 
        // build image
        $image = $this->initFromGdResource($core);
        $image->mime = $mime;
        $image->setFileInfoFromPath($path);
 
        return $image;
    }
 
Arguments
  1. "Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files. (View: /var/www/html/resources/views/website/restaurant/header.blade.php)"
    
Exception message: Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files. (View: /var/www/html/resources/views/website/restaurant/header.blade.php)
     *
     * @param  string  $__path
     * @param  array   $__data
     * @return string
     */
    protected function evaluatePath($__path, $__data)
    {
        $obLevel = ob_get_level();
 
        ob_start();
 
        extract($__data, EXTR_SKIP);
 
        // We'll evaluate the contents of the view inside a try/catch block so we can
        // flush out any stray output that might get out before an error occurs or
        // an exception is thrown. This prevents any partial views from leaking.
        try {
            include $__path;
        } catch (Exception $e) {
            $this->handleViewException($e, $obLevel);
        } catch (Throwable $e) {
            $this->handleViewException(new FatalThrowableError($e), $obLevel);
        }
 
        return ltrim(ob_get_clean());
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Exception
     */
    protected function handleViewException(Exception $e, $obLevel)
    {
        while (ob_get_level() > $obLevel) {
            ob_end_clean();
Arguments
  1. NotReadableException {#1924
      #message: "Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files."
      #code: 0
      #file: "/var/www/html/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php"
      #line: 59
    }
    
  2. 2
    
                    $core= @imagecreatefromstring(file_get_contents($path));
                }
                break;
 
            case 'image/gif':
                $core = @imagecreatefromgif($path);
                break;
 
            case 'image/webp':
            case 'image/x-webp':
                if ( ! function_exists('imagecreatefromwebp')) {
                    throw new NotReadableException(
                        "Unsupported image type. GD/PHP installation does not support WebP format."
                    );
                }
                $core = @imagecreatefromwebp($path);
                break;
 
            default:
                throw new NotReadableException(
                    "Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files."
                );
        }
 
        if (empty($core)) {
            throw new NotReadableException(
                "Unable to decode image from file ({$path})."
            );
        }
 
        $this->gdResourceToTruecolor($core);
 
        // build image
        $image = $this->initFromGdResource($core);
        $image->mime = $mime;
        $image->setFileInfoFromPath($path);
 
        return $image;
    }
 
Arguments
  1. "Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files."
    
Exception message: Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files.
            case $this->isInterventionImage():
                return $this->initFromInterventionImage($this->data);
 
            case $this->isSplFileInfo():
                return $this->initFromPath($this->data->getRealPath());
 
            case $this->isBinary():
                return $this->initFromBinary($this->data);
 
            case $this->isUrl():
                return $this->initFromUrl($this->data);
 
            case $this->isStream():
                return $this->initFromStream($this->data);
 
            case $this->isDataUrl():
                return $this->initFromBinary($this->decodeDataUrl($this->data));
 
            case $this->isFilePath():
                return $this->initFromPath($this->data);
 
            // isBase64 has to be after isFilePath to prevent false positives
            case $this->isBase64():
                return $this->initFromBinary(base64_decode($this->data));
 
            default:
                throw new NotReadableException("Image source not readable");
        }
    }
 
    /**
     * Decoder object transforms to string source data
     *
     * @return string
     */
    public function __toString()
    {
        return (string) $this->data;
    }
}
Arguments
  1. "media/images/76418-immagine-e-back-ground."
    
 
    /**
     * Returns clone of given core
     *
     * @return mixed
     */
    public function cloneCore($core)
    {
        return clone $core;
    }
 
    /**
     * Initiates new image from given input
     *
     * @param  mixed $data
     * @return \Intervention\Image\Image
     */
    public function init($data)
    {
        return $this->decoder->init($data);
    }
 
    /**
     * Encodes given image
     *
     * @param  Image   $image
     * @param  string  $format
     * @param  int     $quality
     * @return \Intervention\Image\Image
     */
    public function encode($image, $format, $quality)
    {
        return $this->encoder->process($image, $format, $quality);
    }
 
    /**
     * Executes named command on given image
     *
     * @param  Image  $image
     * @param  string $name
Arguments
  1. "media/images/76418-immagine-e-back-ground."
    
     *
     * @return self
     */
    public function configure(array $config = [])
    {
        $this->config = array_replace($this->config, $config);
 
        return $this;
    }
 
    /**
     * Initiates an Image instance from different input types
     *
     * @param  mixed $data
     *
     * @return \Intervention\Image\Image
     */
    public function make($data)
    {
        return $this->createDriver()->init($data);
    }
 
    /**
     * Creates an empty image canvas
     *
     * @param  int   $width
     * @param  int   $height
     * @param  mixed $background
     *
     * @return \Intervention\Image\Image
     */
    public function canvas($width, $height, $background = null)
    {
        return $this->createDriver()->newImage($width, $height, $background);
    }
 
    /**
     * Create new cached image and run callback
     * (requires additional package intervention/imagecache)
     *
Arguments
  1. "media/images/76418-immagine-e-back-ground."
    
    }
 
    /**
     * Handle dynamic, static calls to the object.
     *
     * @param  string  $method
     * @param  array   $args
     * @return mixed
     *
     * @throws \RuntimeException
     */
    public static function __callStatic($method, $args)
    {
        $instance = static::getFacadeRoot();
 
        if (! $instance) {
            throw new RuntimeException('A facade root has not been set.');
        }
 
        return $instance->$method(...$args);
    }
}
 
Arguments
  1. "media/images/76418-immagine-e-back-ground."
    
        } else {
            if ($file_name && file_exists($this->path_repository.$file_name)) {
                $metadata = @getimagesize($this->path_repository.$file_name);
                if ($metadata[0] <= $this->size_limit && $metadata[1] <= $this->size_limit) {
                    return $this->path_repository.$file_name;
                }
            }
        }
        return $this->path_repository.'placeholder.png';
    }
 
    // returns default value for argument if missing
    private function arg($args, $arg_name)
    {
        return (array_key_exists($arg_name, $args))? $args[$arg_name]: $this->defaults[$arg_name];
    }
 
    private function open($file_name, $args)
    {
        return Image::make($this->resolve_path($file_name, $this->arg($args, 'a')));
    }
 
    // constructs a new filename based on args
    private function make_new_name($src, $args)
    {
        $new_name = str_replace(['.', ' '], '_', basename($src));
        $new_name .= (isset($args['w']))? '_'.$args['w']: '_0';
        $new_name .= (isset($args['h']))? '_'.$args['h']: '_0';
        $new_name .= '_'.$this->arg($args, 'c');
        $new_name .= '_'.$this->arg($args, 'q');
        $new_name .= (array_key_exists('filter', $args))? '_'.substr(md5(json_encode($this->arg($args, 'filter'))), 0, 8): '';
        $new_name .= '.'.$this->arg($args, 'format');
        return $new_name;
    }
 
    // returns the resampled image object
    // if one dimension is missing, the other is calculated automatically, keeping aspect ratio
    private function resample($obj, $args)
    {
        $c = $this->arg($args, 'c');
Arguments
  1. "make"
    
  2. array:1 [
      0 => "media/images/76418-immagine-e-back-ground."
    ]
    
                case 'colorize': $obj->colorize($_strenght[0], $_strenght[1], $_strenght[2]); break;
                case 'contrast': $obj->contrast($_strenght); break;
                case 'gamma': $obj->gamma($_strenght); break;
                case 'greyscale': $obj->greyscale(); break;
                case 'invert': $obj->invert(); break;
                case 'opacity': $obj->opacity($_strenght); break;
                case 'pixelate': $obj->pixelate($_strenght); break;
                case 'sharpen': $obj->sharpen($_strenght); break;
            }
        }
        return $obj;
    }
 
    // calculates a new image and returns the path to it
    public function get($src, $args = array(), $disk = '', $folder = '')
    {
        $new_name = $this->make_new_name($src, $args);
 
        // create image object from source
        $obj = $this->open($src, $args);
 
        // if we are given width or height, resample the image accordingly
        if (isset($args['w']) || isset($args['h'])) {
            $obj = $this->resample($obj, $args);
        }
 
        // fiters
        if (isset($args['filter'])) {
            $obj = $this->setFilter($obj, $args['filter']);
        }
 
        // manual color conversion
        $obj = $this->setColors($obj, $this->arg($args, 'format'), $this->arg($args, 'matte'));
 
        // encode by format and quality
        $q = $this->arg($args, 'q');
        $format = $this->arg($args, 'format');
 
        $obj->encode($format, $q);
 
Arguments
  1. "76418-immagine-e-back-ground."
    
  2. array:4 [
      "w" => 960
      "h" => 270
      "q" => 40
      "filter" => array:1 [
        "blur" => 10
      ]
    ]
    
            // save the generated image;
            $obj->save($this->path_save.$new_name, $q);
 
            if ($this->arg($args, 'e')) {
                echo '/'.$this->path_save.$new_name;
            } else {
                return '/'.$this->path_save.$new_name;
            }
        }
    }
 
    // checks if image exists and returns the path to it. creates it anew if not.
    public function get_cached($src, $args = array(), $disk = '', $folder = '')
    {
        $new_name = $this->make_new_name($src, $args);
 
        if (file_exists($this->path_save.$new_name)) {
            return '/'.$this->path_save.$new_name;
        } else {
            return $this->get($src, $args);
        }
    }
 
    // returns the url to the unaltered image
    public function get_url($src)
    {
        return '/'.$this->resolve_path($src, false);
    }
}
 
Arguments
  1. "76418-immagine-e-back-ground."
    
  2. array:4 [
      "w" => 960
      "h" => 270
      "q" => 40
      "filter" => array:1 [
        "blur" => 10
      ]
    ]
    
    }
 
    /**
     * Handle dynamic, static calls to the object.
     *
     * @param  string  $method
     * @param  array   $args
     * @return mixed
     *
     * @throws \RuntimeException
     */
    public static function __callStatic($method, $args)
    {
        $instance = static::getFacadeRoot();
 
        if (! $instance) {
            throw new RuntimeException('A facade root has not been set.');
        }
 
        return $instance->$method(...$args);
    }
}
 
Arguments
  1. "76418-immagine-e-back-ground."
    
  2. array:4 [
      "w" => 960
      "h" => 270
      "q" => 40
      "filter" => array:1 [
        "blur" => 10
      ]
    ]
    
<header id="restaurant-header" style="background-image: url(<?php echo e(ImgHelper::get_cached($restaurant->background, ['w' => 960, 'h' => 270, 'q' => 40, 'filter' => ['blur' => 10]])); ?>);">
    <div class="container">
        <?php echo $__env->make('website.restaurant.header-carousel', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
        <?php echo $__env->make('website.restaurant.logo', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
        <?php echo $__env->make('website.restaurant.address', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
    </div>
</header>
<?php /**PATH /var/www/html/resources/views/website/restaurant/header.blade.php ENDPATH**/ ?>
Arguments
  1. "get_cached"
    
  2. array:2 [
      0 => "76418-immagine-e-back-ground."
      1 => array:4 [
        "w" => 960
        "h" => 270
        "q" => 40
        "filter" => array:1 [
          "blur" => 10
        ]
      ]
    ]
    
    /**
     * Get the evaluated contents of the view at the given path.
     *
     * @param  string  $__path
     * @param  array   $__data
     * @return string
     */
    protected function evaluatePath($__path, $__data)
    {
        $obLevel = ob_get_level();
 
        ob_start();
 
        extract($__data, EXTR_SKIP);
 
        // We'll evaluate the contents of the view inside a try/catch block so we can
        // flush out any stray output that might get out before an error occurs or
        // an exception is thrown. This prevents any partial views from leaking.
        try {
            include $__path;
        } catch (Exception $e) {
            $this->handleViewException($e, $obLevel);
        } catch (Throwable $e) {
            $this->handleViewException(new FatalThrowableError($e), $obLevel);
        }
 
        return ltrim(ob_get_clean());
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Exception
     */
    protected function handleViewException(Exception $e, $obLevel)
    {
Arguments
  1. "/var/www/html/storage/framework/views/46a889d6e370bb34418bc5d3942ab0048da65855.php"
    
     * @param  array   $data
     * @return string
     */
    public function get($path, array $data = [])
    {
        $this->lastCompiled[] = $path;
 
        // If this given view has expired, which means it has simply been edited since
        // it was last compiled, we will re-compile the views so we can evaluate a
        // fresh copy of the view. We'll pass the compiler the path of the view.
        if ($this->compiler->isExpired($path)) {
            $this->compiler->compile($path);
        }
 
        $compiled = $this->compiler->getCompiledPath($path);
 
        // Once we have the path to the compiled file, we will evaluate the paths with
        // typical PHP just like any other templates. We also keep a stack of views
        // which have been rendered for right exception messages to be generated.
        $results = $this->evaluatePath($compiled, $data);
 
        array_pop($this->lastCompiled);
 
        return $results;
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Exception
     */
    protected function handleViewException(Exception $e, $obLevel)
    {
        $e = new ErrorException($this->getMessage($e), 0, 1, $e->getFile(), $e->getLine(), $e);
 
        parent::handleViewException($e, $obLevel);
Arguments
  1. "/var/www/html/storage/framework/views/46a889d6e370bb34418bc5d3942ab0048da65855.php"
    
  2. array:9 [
      "__env" => Factory {#892}
      "app" => Application {#5}
      "errors" => ViewErrorBag {#1390}
      "view_name" => "website-restaurant-single"
      "obLevel" => 0
      "article" => Article {#1542}
      "restaurant" => Restaurant {#1628}
      "related" => Collection {#1779}
      "site_settings" => Collection {#1847}
    ]
    
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
     * Get the data bound to the view instance.
     *
     * @return array
     */
    public function gatherData()
    {
        $data = array_merge($this->factory->getShared(), $this->data);
 
        foreach ($data as $key => $value) {
            if ($value instanceof Renderable) {
                $data[$key] = $value->render();
            }
        }
 
        return $data;
    }
 
Arguments
  1. "/var/www/html/resources/views/website/restaurant/header.blade.php"
    
  2. array:9 [
      "__env" => Factory {#892}
      "app" => Application {#5}
      "errors" => ViewErrorBag {#1390}
      "view_name" => "website-restaurant-single"
      "obLevel" => 0
      "article" => Article {#1542}
      "restaurant" => Restaurant {#1628}
      "related" => Collection {#1779}
      "site_settings" => Collection {#1847}
    ]
    
 
            throw $e;
        }
    }
 
    /**
     * Get the contents of the view instance.
     *
     * @return string
     */
    protected function renderContents()
    {
        // We will keep track of the amount of views being rendered so we can flush
        // the section after the complete rendering operation is done. This will
        // clear out the sections for any separate views that may be rendered.
        $this->factory->incrementRender();
 
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
        $this->view = $view;
        $this->path = $path;
        $this->engine = $engine;
        $this->factory = $factory;
 
        $this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
    }
 
    /**
     * Get the string contents of the view.
     *
     * @param  callable|null  $callback
     * @return array|string
     *
     * @throws \Throwable
     */
    public function render(callable $callback = null)
    {
        try {
            $contents = $this->renderContents();
 
            $response = isset($callback) ? call_user_func($callback, $this, $contents) : null;
 
            // Once we have the contents of the view, we will flush the sections if we are
            // done rendering all views so that there is nothing left hanging over when
            // another view gets rendered in the future by the application developer.
            $this->factory->flushStateIfDoneRendering();
 
            return ! is_null($response) ? $response : $contents;
        } catch (Exception $e) {
            $this->factory->flushState();
 
            throw $e;
        } catch (Throwable $e) {
            $this->factory->flushState();
 
            throw $e;
        }
    }
 
<?php $__env->startSection('content'); ?>
    <?php if(Browser::isMobile()): ?>
        <?php echo $__env->make('website.restaurant.header-mobile', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
        <?php echo $__env->make('website.restaurant.main-mobile', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
    <?php else: ?>
        <?php echo $__env->make('website.restaurant.header', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
        <?php echo $__env->make('website.restaurant.main', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
    <?php endif; ?>
<?php $__env->stopSection(); ?>
 
<?php echo $__env->make('website.app', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?><?php /**PATH /var/www/html/resources/views/website/restaurant/single.blade.php ENDPATH**/ ?>
    /**
     * Get the evaluated contents of the view at the given path.
     *
     * @param  string  $__path
     * @param  array   $__data
     * @return string
     */
    protected function evaluatePath($__path, $__data)
    {
        $obLevel = ob_get_level();
 
        ob_start();
 
        extract($__data, EXTR_SKIP);
 
        // We'll evaluate the contents of the view inside a try/catch block so we can
        // flush out any stray output that might get out before an error occurs or
        // an exception is thrown. This prevents any partial views from leaking.
        try {
            include $__path;
        } catch (Exception $e) {
            $this->handleViewException($e, $obLevel);
        } catch (Throwable $e) {
            $this->handleViewException(new FatalThrowableError($e), $obLevel);
        }
 
        return ltrim(ob_get_clean());
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Exception
     */
    protected function handleViewException(Exception $e, $obLevel)
    {
Arguments
  1. "/var/www/html/storage/framework/views/3d9388820d41b574e714621a48ed5d3901d29224.php"
    
     * @param  array   $data
     * @return string
     */
    public function get($path, array $data = [])
    {
        $this->lastCompiled[] = $path;
 
        // If this given view has expired, which means it has simply been edited since
        // it was last compiled, we will re-compile the views so we can evaluate a
        // fresh copy of the view. We'll pass the compiler the path of the view.
        if ($this->compiler->isExpired($path)) {
            $this->compiler->compile($path);
        }
 
        $compiled = $this->compiler->getCompiledPath($path);
 
        // Once we have the path to the compiled file, we will evaluate the paths with
        // typical PHP just like any other templates. We also keep a stack of views
        // which have been rendered for right exception messages to be generated.
        $results = $this->evaluatePath($compiled, $data);
 
        array_pop($this->lastCompiled);
 
        return $results;
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Exception
     */
    protected function handleViewException(Exception $e, $obLevel)
    {
        $e = new ErrorException($this->getMessage($e), 0, 1, $e->getFile(), $e->getLine(), $e);
 
        parent::handleViewException($e, $obLevel);
Arguments
  1. "/var/www/html/storage/framework/views/3d9388820d41b574e714621a48ed5d3901d29224.php"
    
  2. array:8 [
      "__env" => Factory {#892}
      "app" => Application {#5}
      "errors" => ViewErrorBag {#1390}
      "view_name" => "website-restaurant-single"
      "article" => Article {#1542}
      "restaurant" => Restaurant {#1628}
      "related" => Collection {#1779}
      "site_settings" => Collection {#1847}
    ]
    
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
     * Get the data bound to the view instance.
     *
     * @return array
     */
    public function gatherData()
    {
        $data = array_merge($this->factory->getShared(), $this->data);
 
        foreach ($data as $key => $value) {
            if ($value instanceof Renderable) {
                $data[$key] = $value->render();
            }
        }
 
        return $data;
    }
 
Arguments
  1. "/var/www/html/resources/views/website/restaurant/single.blade.php"
    
  2. array:8 [
      "__env" => Factory {#892}
      "app" => Application {#5}
      "errors" => ViewErrorBag {#1390}
      "view_name" => "website-restaurant-single"
      "article" => Article {#1542}
      "restaurant" => Restaurant {#1628}
      "related" => Collection {#1779}
      "site_settings" => Collection {#1847}
    ]
    
 
            throw $e;
        }
    }
 
    /**
     * Get the contents of the view instance.
     *
     * @return string
     */
    protected function renderContents()
    {
        // We will keep track of the amount of views being rendered so we can flush
        // the section after the complete rendering operation is done. This will
        // clear out the sections for any separate views that may be rendered.
        $this->factory->incrementRender();
 
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
        $this->view = $view;
        $this->path = $path;
        $this->engine = $engine;
        $this->factory = $factory;
 
        $this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
    }
 
    /**
     * Get the string contents of the view.
     *
     * @param  callable|null  $callback
     * @return array|string
     *
     * @throws \Throwable
     */
    public function render(callable $callback = null)
    {
        try {
            $contents = $this->renderContents();
 
            $response = isset($callback) ? call_user_func($callback, $this, $contents) : null;
 
            // Once we have the contents of the view, we will flush the sections if we are
            // done rendering all views so that there is nothing left hanging over when
            // another view gets rendered in the future by the application developer.
            $this->factory->flushStateIfDoneRendering();
 
            return ! is_null($response) ? $response : $contents;
        } catch (Exception $e) {
            $this->factory->flushState();
 
            throw $e;
        } catch (Throwable $e) {
            $this->factory->flushState();
 
            throw $e;
        }
    }
 
     * @return $this
     */
    public function setContent($content)
    {
        $this->original = $content;
 
        // If the content is "JSONable" we will set the appropriate header and convert
        // the content to JSON. This is useful when returning something like models
        // from routes that will be automatically transformed to their JSON form.
        if ($this->shouldBeJson($content)) {
            $this->header('Content-Type', 'application/json');
 
            $content = $this->morphToJson($content);
        }
 
        // If this content implements the "Renderable" interface then we will call the
        // render method on the object so we will avoid any "__toString" exceptions
        // that might be thrown and have their errors obscured by PHP's handling.
        elseif ($content instanceof Renderable) {
            $content = $content->render();
        }
 
        parent::setContent($content);
 
        return $this;
    }
 
    /**
     * Determine if the given content should be turned into JSON.
     *
     * @param  mixed  $content
     * @return bool
     */
    protected function shouldBeJson($content)
    {
        return $content instanceof Arrayable ||
               $content instanceof Jsonable ||
               $content instanceof ArrayObject ||
               $content instanceof JsonSerializable ||
               is_array($content);
        500 => 'Internal Server Error',
        501 => 'Not Implemented',
        502 => 'Bad Gateway',
        503 => 'Service Unavailable',
        504 => 'Gateway Timeout',
        505 => 'HTTP Version Not Supported',
        506 => 'Variant Also Negotiates',                                     // RFC2295
        507 => 'Insufficient Storage',                                        // RFC4918
        508 => 'Loop Detected',                                               // RFC5842
        510 => 'Not Extended',                                                // RFC2774
        511 => 'Network Authentication Required',                             // RFC6585
    ];
 
    /**
     * @throws \InvalidArgumentException When the HTTP status code is not valid
     */
    public function __construct($content = '', int $status = 200, array $headers = [])
    {
        $this->headers = new ResponseHeaderBag($headers);
        $this->setContent($content);
        $this->setStatusCode($status);
        $this->setProtocolVersion('1.0');
    }
 
    /**
     * Factory method for chainability.
     *
     * Example:
     *
     *     return Response::create($body, 200)
     *         ->setSharedMaxAge(300);
     *
     * @param mixed $content The response content, see setContent()
     * @param int   $status  The response status code
     * @param array $headers An array of response headers
     *
     * @return static
     */
    public static function create($content = '', $status = 200, $headers = [])
    {
Arguments
  1. View {#1781}
    
     */
    public static function toResponse($request, $response)
    {
        if ($response instanceof Responsable) {
            $response = $response->toResponse($request);
        }
 
        if ($response instanceof PsrResponseInterface) {
            $response = (new HttpFoundationFactory)->createResponse($response);
        } elseif ($response instanceof Model && $response->wasRecentlyCreated) {
            $response = new JsonResponse($response, 201);
        } elseif (! $response instanceof SymfonyResponse &&
                   ($response instanceof Arrayable ||
                    $response instanceof Jsonable ||
                    $response instanceof ArrayObject ||
                    $response instanceof JsonSerializable ||
                    is_array($response))) {
            $response = new JsonResponse($response);
        } elseif (! $response instanceof SymfonyResponse) {
            $response = new Response($response);
        }
 
        if ($response->getStatusCode() === Response::HTTP_NOT_MODIFIED) {
            $response->setNotModified();
        }
 
        return $response->prepare($request);
    }
 
    /**
     * Substitute the route bindings onto the route.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return \Illuminate\Routing\Route
     *
     * @throws \Illuminate\Database\Eloquent\ModelNotFoundException
     */
    public function substituteBindings($route)
    {
        foreach ($route->parameters() as $key => $value) {
Arguments
  1. View {#1781}
    
     * Sort the given middleware by priority.
     *
     * @param  \Illuminate\Support\Collection  $middlewares
     * @return array
     */
    protected function sortMiddleware(Collection $middlewares)
    {
        return (new SortedMiddleware($this->middlewarePriority, $middlewares))->all();
    }
 
    /**
     * Create a response instance from the given value.
     *
     * @param  \Symfony\Component\HttpFoundation\Request  $request
     * @param  mixed  $response
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    public function prepareResponse($request, $response)
    {
        return static::toResponse($request, $response);
    }
 
    /**
     * Static version of prepareResponse.
     *
     * @param  \Symfony\Component\HttpFoundation\Request  $request
     * @param  mixed  $response
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    public static function toResponse($request, $response)
    {
        if ($response instanceof Responsable) {
            $response = $response->toResponse($request);
        }
 
        if ($response instanceof PsrResponseInterface) {
            $response = (new HttpFoundationFactory)->createResponse($response);
        } elseif ($response instanceof Model && $response->wasRecentlyCreated) {
            $response = new JsonResponse($response, 201);
        } elseif (! $response instanceof SymfonyResponse &&
Arguments
  1. Request {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. View {#1781}
    
    /**
     * 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);
    }
 
    /**
Arguments
  1. Request {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. View {#1781}
    
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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
<?php
 
namespace App\LaraCms\Middleware;
 
use Auth;
use Closure;
use App\LaraCms\Tools\StoreHelper;
 
class UserCart
{
    public function __construct() {}
 
    public function handle($request, Closure $next) {
        if (Auth::user()) {
            $cart = StoreHelper::getUserCart();
            if ($cart)
                StoreHelper::setSessionCart($cart);
        }
        return $next($request);
    }
}
 
Arguments
  1. Request {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#1336 …5}
    
                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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
            if (!empty($locales[$localeCode])) {
                if ($localeCode === $defaultLocale && $hideDefaultLocale) {
                    $redirection = app('laravellocalization')->getNonLocalizedURL();
                }
            } elseif ($currentLocale !== $defaultLocale || !$hideDefaultLocale) {
                // If the current url does not contain any locale
                // The system redirect the user to the very same url "localized"
                // we use the current locale to redirect him
                $redirection = app('laravellocalization')->getLocalizedURL(session('locale'), $request->fullUrl());
            }
 
            if ($redirection) {
                // Save any flashed data for redirect
                app('session')->reflash();
 
                return new RedirectResponse($redirection, 302, ['Vary' => 'Accept-Language']);
            }
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#1337 …5}
    
                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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
    public function __construct(Shield $shield)
    {
        $this->shield = $shield;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param \Illuminate\Http\Request $request
     * @param \Closure $next
     * @param string|null $user
     *
     * @return mixed
     */
    public function handle($request, Closure $next, string $user = null)
    {
        if (env('BASIC_AUTH'))
            $this->shield->verify($request->getUser() ?: '', $request->getPassword() ?: '', $user);
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#1338 …5}
    
                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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#1339 …5}
    
                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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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('CSRF token mismatch.');
    }
 
    /**
     * 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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#1340 …5}
    
                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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#1341 …5}
    
                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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 (! $this->sessionConfigured()) {
            return $next($request);
        }
 
        // 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.
        $request->setLaravelSession(
            $session = $this->startSession($request)
        );
 
        $this->collectGarbage($session);
 
        $response = $next($request);
 
        $this->storeCurrentUrl($request, $session);
 
        $this->addCookieToResponse($response, $session);
 
        // 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.
        $this->saveSession($request);
 
        return $response;
    }
 
    /**
     * Start the session for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Contracts\Session\Session
     */
    protected function startSession(Request $request)
Arguments
  1. Request {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#1342 …5}
    
                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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#1343 …5}
    
                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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#1344 …5}
    
                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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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) {#1334 …5}
    
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Routing\Route  $route
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    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 {#1044}
    
  2. Request {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Route {#1044}
    
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    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 \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#1110 …5}
    
                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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
 
    public function __construct(Application $app)
    {
        $this->app = $app;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (env('APP_HTTPS', false)) {
            $this->app['request']->server->set('HTTPS', true);
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#1111 …5}
    
                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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#1112 …5}
    
                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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
 
namespace Illuminate\Foundation\Http\Middleware;
 
use Closure;
use Symfony\Component\HttpFoundation\ParameterBag;
 
class TransformsRequest
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#1113 …5}
    
                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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
 
namespace Illuminate\Foundation\Http\Middleware;
 
use Closure;
use Symfony\Component\HttpFoundation\ParameterBag;
 
class TransformsRequest
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#1114 …5}
    
                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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#1115 …5}
    
                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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#1116 …5}
    
                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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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) {#1108 …4}
    
            $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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #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 {#56
      #json: null
      #convertedFiles: []
      #userResolver: Closure($guard = null) {#1179 …5}
      #routeResolver: Closure() {#1302 …5}
      +attributes: ParameterBag {#66}
      +request: ParameterBag {#64}
      +query: ParameterBag {#64}
      +server: ServerBag {#68}
      +files: FileBag {#61}
      +cookies: ParameterBag {#67}
      +headers: HeaderBag {#69}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/restaurant/la-colonna"
      #requestUri: "/restaurant/la-colonna"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1376}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
REDIRECT_STATUS
"200"
HTTP_HOST
"www.giacominorecommends.com"
HTTP_CONNECTION
"close"
HTTP_ACCEPT
"*/*"
HTTP_USER_AGENT
"claudebot"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
SERVER_SIGNATURE
""
SERVER_SOFTWARE
"Apache"
SERVER_NAME
"www.giacominorecommends.com"
SERVER_ADDR
"172.18.0.132"
SERVER_PORT
"80"
REMOTE_ADDR
"172.18.0.48"
DOCUMENT_ROOT
"/var/www/html/public"
REQUEST_SCHEME
"http"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/var/www/html/public"
SERVER_ADMIN
"[no address given]"
SCRIPT_FILENAME
"/var/www/html/public/index.php"
REMOTE_PORT
"53776"
REDIRECT_URL
"/restaurant/la-colonna"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.0"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/restaurant/la-colonna"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1710846768.286
REQUEST_TIME
1710846768
argv
[]
argc
0
APP_NAME
"LaraCms"
APP_ENV
"production"
APP_DEBUG
"true"
APP_KEY
"base64:x1a4Sy9CiEarrNdg70IYyYkLdejn6g3Js2QMZzJ6Ruc="
APP_HTTPS
"true"
APP_URL
"https://www.giacominorecommends.com"
LOG_CHANNEL
"stack"
DB_HOST
"mysql57"
DB_DATABASE
"giacominorecommends_com"
DB_USERNAME
"giacominorecommends_com"
DB_PASSWORD
"b9cTI]mJ@*z!eu*2"
CACHE_DRIVER
"array"
SESSION_DRIVER
"file"
QUEUE_DRIVER
"sync"
MAIL_MAILER
"smtp"
MAIL_HOST
"10.202.0.15"
MAIL_PORT
"25"
MAIL_USERNAME
"giacominorecommends-com@fromserver.it"
MAIL_PASSWORD
"eC@X7j83T8"
MAIL_ENCRYPTION
"null"
MAIL_DEBUG
"false"
MAIL_FROM_ADDRESS
"giacominorecommends-com@fromserver.it"
MAIL_FROM_NAME
"LaraCms"
BASIC_AUTH
"false"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"mt1"
MIX_PUSHER_APP_KEY
""
MIX_PUSHER_APP_CLUSTER
"mt1"
ERRORS_DB
"false"
ERRORS_MAIL
"false"
PAYPAL_MODE
"sandbox"
PAYPAL_SANDBOX_API_USERNAME
"gf_api1.gfstudio.com"
PAYPAL_SANDBOX_API_PASSWORD
"ZTLT54UFPC89HNE2"
PAYPAL_SANDBOX_API_SECRET
"AFcWxV21C7fd0v3bYYYRCpSSRl31AAG1E9A4MW26NtPtDmrJW0E59c2v"
PAYPAL_LIVE_API_USERNAME
""
PAYPAL_LIVE_API_PASSWORD
""
PAYPAL_LIVE_API_SECRET
""
DEBUGBAR_ENABLED
"false"
SESSION_SECURE_COOKIE
"true"
Key Value
APACHE_LOG_DIR
"/var/log/apache2"
LANG
"C"
HOSTNAME
"cf3780b2acad"
APACHE_CONFDIR
"/etc/apache2"
APACHE_LOCK_DIR
"/var/lock/apache2"
PHPIZE_DEPS
"autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c"
GPG_KEYS
"1729F83938DA44E27BA0F4D3DBDB397470D12172 B1B44D8F021E4E2D6021E995DC9FF8D3EE5AF27F"
PHP_EXTRA_CONFIGURE_ARGS
"--with-apxs2"
PHP_ASC_URL
"https://secure.php.net/get/php-7.2.3.tar.xz.asc/from/this/mirror"
PHP_CFLAGS
"-fstack-protector-strong -fpic -fpie -O2"
PHP_EXTRA_BUILD_DEPS
"apache2-dev"
PWD
"/var/www/html"
PHP_LDFLAGS
"-Wl,-O1 -Wl,--hash-style=both -pie"
APACHE_RUN_GROUP
"www-data"
APACHE_RUN_DIR
"/var/run/apache2"
PHP_INI_DIR
"/usr/local/etc/php"
PHP_URL
"https://secure.php.net/get/php-7.2.3.tar.xz/from/this/mirror"
APACHE_ENVVARS
"/etc/apache2/envvars"
PHP_CPPFLAGS
"-fstack-protector-strong -fpic -fpie -O2"
SUPERVISOR_PROCESS_NAME
"apache2"
APACHE_RUN_USER
"www-data"
SUPERVISOR_ENABLED
"1"
PHP_VERSION
"7.2.3"
APACHE_PID_FILE
"/var/run/apache2/apache2.pid"
SHLVL
"0"
SUPERVISOR_GROUP_NAME
"apache2"
PHP_MD5
""
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
PHP_SHA256
"b3a94f1b562f413c0b96f54bc309706d83b29ac65d9b172bc7ed9fb40a5e651f"
APP_NAME
"LaraCms"
APP_ENV
"production"
APP_DEBUG
"true"
APP_KEY
"base64:x1a4Sy9CiEarrNdg70IYyYkLdejn6g3Js2QMZzJ6Ruc="
APP_HTTPS
"true"
APP_URL
"https://www.giacominorecommends.com"
LOG_CHANNEL
"stack"
DB_HOST
"mysql57"
DB_DATABASE
"giacominorecommends_com"
DB_USERNAME
"giacominorecommends_com"
DB_PASSWORD
"b9cTI]mJ@*z!eu*2"
CACHE_DRIVER
"array"
SESSION_DRIVER
"file"
QUEUE_DRIVER
"sync"
MAIL_MAILER
"smtp"
MAIL_HOST
"10.202.0.15"
MAIL_PORT
"25"
MAIL_USERNAME
"giacominorecommends-com@fromserver.it"
MAIL_PASSWORD
"eC@X7j83T8"
MAIL_ENCRYPTION
"null"
MAIL_DEBUG
"false"
MAIL_FROM_ADDRESS
"giacominorecommends-com@fromserver.it"
MAIL_FROM_NAME
"LaraCms"
BASIC_AUTH
"false"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"mt1"
MIX_PUSHER_APP_KEY
""
MIX_PUSHER_APP_CLUSTER
"mt1"
ERRORS_DB
"false"
ERRORS_MAIL
"false"
PAYPAL_MODE
"sandbox"
PAYPAL_SANDBOX_API_USERNAME
"gf_api1.gfstudio.com"
PAYPAL_SANDBOX_API_PASSWORD
"ZTLT54UFPC89HNE2"
PAYPAL_SANDBOX_API_SECRET
"AFcWxV21C7fd0v3bYYYRCpSSRl31AAG1E9A4MW26NtPtDmrJW0E59c2v"
PAYPAL_LIVE_API_USERNAME
""
PAYPAL_LIVE_API_PASSWORD
""
PAYPAL_LIVE_API_SECRET
""
DEBUGBAR_ENABLED
"false"
SESSION_SECURE_COOKIE
"true"
0. Whoops\Handler\PrettyPageHandler