ErrorException (E_NOTICE)
Trying to get property 'route' of non-object ErrorException thrown with message "Trying to get property 'route' of non-object" Stacktrace: #117 ErrorException in /raid/case/magnifiercomtw/website/app/Model/Repositories/Product/ProductCategoryRepository.php:272 #116 Illuminate\Foundation\Bootstrap\HandleExceptions:handleError in /raid/case/magnifiercomtw/website/app/Model/Repositories/Product/ProductCategoryRepository.php:272 #115 App\Model\Repositories\Product\ProductCategoryRepository:findWithFullRoute in /raid/case/magnifiercomtw/website/app/Services/DefaultTitle/Object/ProductDefaultTitleFormat.php:47 #114 App\Services\DefaultTitle\Object\ProductDefaultTitleFormat:getTitle in /raid/case/magnifiercomtw/website/app/Services/DefaultTitle/DefaultTitleFormatService.php:116 #113 App\Services\DefaultTitle\DefaultTitleFormatService:getTitle in /raid/case/magnifiercomtw/website/app/Http/Controllers/Frontend/ProductsController.php:192 #112 App\Http\Controllers\Frontend\ProductsController:App\Http\Controllers\Frontend\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Support/helpers.php:1148 #111 value in /raid/case/magnifiercomtw/website/app/Services/Optimize/Cache/CacheService.php:141 #110 App\Services\Optimize\Cache\CacheService:remember in /raid/case/magnifiercomtw/website/app/Http/Controllers/Frontend/ProductsController.php:193 #109 App\Http\Controllers\Frontend\ProductsController:show in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54 #108 call_user_func_array in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54 #107 Illuminate\Routing\Controller:callAction in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:45 #106 Illuminate\Routing\ControllerDispatcher:dispatch in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Route.php:212 #105 Illuminate\Routing\Route:runController in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Route.php:169 #104 Illuminate\Routing\Route:run in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Router.php:658 #103 Illuminate\Routing\Router:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 #102 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/app/Http/Middleware/AuthorizeFeature.php:25 #101 App\Http\Middleware\AuthorizeFeature:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #100 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #99 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/app/Http/Middleware/CheckCustomerInformation.php:37 #98 App\Http\Middleware\CheckCustomerInformation:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #97 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #96 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/app/Http/Middleware/DefaultLocateRedirector.php:36 #95 App\Http\Middleware\DefaultLocateRedirector:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #94 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #93 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/app/Http/Middleware/UrlRedirector.php:50 #92 App\Http\Middleware\UrlRedirector:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #91 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #90 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/app/Http/Middleware/OpenDebugbar.php:39 #89 App\Http\Middleware\OpenDebugbar:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #88 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #87 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/renatomarinho/laravel-page-speed/src/Middleware/PageSpeed.php:27 #86 RenatoMarinho\LaravelPageSpeed\Middleware\PageSpeed:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #85 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #84 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41 #83 Illuminate\Routing\Middleware\SubstituteBindings:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #82 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #81 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:68 #80 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #79 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #78 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 #77 Illuminate\View\Middleware\ShareErrorsFromSession:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #76 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #75 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:63 #74 Illuminate\Session\Middleware\StartSession:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #73 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #72 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 #71 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #70 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #69 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:66 #68 Illuminate\Cookie\Middleware\EncryptCookies:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #67 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #66 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 #65 Illuminate\Pipeline\Pipeline:then in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Router.php:660 #64 Illuminate\Routing\Router:runRouteWithinStack in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Router.php:635 #63 Illuminate\Routing\Router:runRoute in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Router.php:601 #62 Illuminate\Routing\Router:dispatchToRoute in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Router.php:590 #61 Illuminate\Routing\Router:dispatch in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:221 #60 Illuminate\Support\Facades\Facade:__callStatic in /raid/case/magnifiercomtw/website/app/Http/Controllers/Frontend/SeoUrlsController.php:128 #59 App\Http\Controllers\Frontend\SeoUrlsController:show in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54 #58 call_user_func_array in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54 #57 Illuminate\Routing\Controller:callAction in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:45 #56 Illuminate\Routing\ControllerDispatcher:dispatch in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Route.php:212 #55 Illuminate\Routing\Route:runController in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Route.php:169 #54 Illuminate\Routing\Route:run in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Router.php:658 #53 Illuminate\Routing\Router:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 #52 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/app/Http/Middleware/DefaultLocateRedirector.php:36 #51 App\Http\Middleware\DefaultLocateRedirector:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #50 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #49 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/app/Http/Middleware/UrlRedirector.php:50 #48 App\Http\Middleware\UrlRedirector:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #47 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #46 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/app/Http/Middleware/OpenDebugbar.php:39 #45 App\Http\Middleware\OpenDebugbar:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #44 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #43 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/renatomarinho/laravel-page-speed/src/Middleware/PageSpeed.php:27 #42 RenatoMarinho\LaravelPageSpeed\Middleware\PageSpeed:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #41 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #40 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41 #39 Illuminate\Routing\Middleware\SubstituteBindings:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #38 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #37 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:68 #36 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #35 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #34 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 #33 Illuminate\View\Middleware\ShareErrorsFromSession:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #32 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #31 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:63 #30 Illuminate\Session\Middleware\StartSession:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #29 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #28 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 #27 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #26 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #25 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:66 #24 Illuminate\Cookie\Middleware\EncryptCookies:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #23 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #22 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 #21 Illuminate\Pipeline\Pipeline:then in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Router.php:660 #20 Illuminate\Routing\Router:runRouteWithinStack in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Router.php:635 #19 Illuminate\Routing\Router:runRoute in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Router.php:601 #18 Illuminate\Routing\Router:dispatchToRoute in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Router.php:590 #17 Illuminate\Routing\Router:dispatch in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:176 #16 Illuminate\Foundation\Http\Kernel:Illuminate\Foundation\Http\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 #15 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/fideloper/proxy/src/TrustProxies.php:56 #14 Fideloper\Proxy\TrustProxies:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #13 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #12 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 #11 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #10 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #9 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 #8 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #7 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #6 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27 #5 Illuminate\Foundation\Http\Middleware\ValidatePostSize:handle in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #4 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #3 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 #2 Illuminate\Pipeline\Pipeline:then in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:151 #1 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in /raid/case/magnifiercomtw/website/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:116 #0 Illuminate\Foundation\Http\Kernel:handle in /raid/case/magnifiercomtw/public_html/index.php:61
Application frames (16) All frames (118)
117
ErrorException
/
app
/
Model
/
Repositories
/
Product
/
ProductCategoryRepository.php
272
116
Illuminate
\
Foundation
\
Bootstrap
\
HandleExceptions
handleError
/
app
/
Model
/
Repositories
/
Product
/
ProductCategoryRepository.php
272
115
App
\
Model
\
Repositories
\
Product
\
ProductCategoryRepository
findWithFullRoute
/
app
/
Services
/
DefaultTitle
/
Object
/
ProductDefaultTitleFormat.php
47
114
App
\
Services
\
DefaultTitle
\
Object
\
ProductDefaultTitleFormat
getTitle
/
app
/
Services
/
DefaultTitle
/
DefaultTitleFormatService.php
116
113
App
\
Services
\
DefaultTitle
\
DefaultTitleFormatService
getTitle
/
app
/
Http
/
Controllers
/
Frontend
/
ProductsController.php
192
112
App
\
Http
\
Controllers
\
Frontend
\
ProductsController
App
\
Http
\
Controllers
\
Frontend
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Support
/
helpers.php
1148
111
value
/
app
/
Services
/
Optimize
/
Cache
/
CacheService.php
141
110
App
\
Services
\
Optimize
\
Cache
\
CacheService
remember
/
app
/
Http
/
Controllers
/
Frontend
/
ProductsController.php
193
109
App
\
Http
\
Controllers
\
Frontend
\
ProductsController
show
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Controller.php
54
108
call_user_func_array
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Controller.php
54
107
Illuminate
\
Routing
\
Controller
callAction
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
ControllerDispatcher.php
45
106
Illuminate
\
Routing
\
ControllerDispatcher
dispatch
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Route.php
212
105
Illuminate
\
Routing
\
Route
runController
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Route.php
169
104
Illuminate
\
Routing
\
Route
run
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
658
103
Illuminate
\
Routing
\
Router
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
30
102
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
app
/
Http
/
Middleware
/
AuthorizeFeature.php
25
101
App
\
Http
\
Middleware
\
AuthorizeFeature
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
100
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
99
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
app
/
Http
/
Middleware
/
CheckCustomerInformation.php
37
98
App
\
Http
\
Middleware
\
CheckCustomerInformation
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
97
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
96
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
app
/
Http
/
Middleware
/
DefaultLocateRedirector.php
36
95
App
\
Http
\
Middleware
\
DefaultLocateRedirector
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
94
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
93
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
app
/
Http
/
Middleware
/
UrlRedirector.php
50
92
App
\
Http
\
Middleware
\
UrlRedirector
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
91
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
90
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
app
/
Http
/
Middleware
/
OpenDebugbar.php
39
89
App
\
Http
\
Middleware
\
OpenDebugbar
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
88
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
87
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
renatomarinho
/
laravel-page-speed
/
src
/
Middleware
/
PageSpeed.php
27
86
RenatoMarinho
\
LaravelPageSpeed
\
Middleware
\
PageSpeed
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
85
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
84
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Middleware
/
SubstituteBindings.php
41
83
Illuminate
\
Routing
\
Middleware
\
SubstituteBindings
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
82
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
81
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
VerifyCsrfToken.php
68
80
Illuminate
\
Foundation
\
Http
\
Middleware
\
VerifyCsrfToken
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
79
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
78
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
Middleware
/
ShareErrorsFromSession.php
49
77
Illuminate
\
View
\
Middleware
\
ShareErrorsFromSession
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
76
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
75
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Middleware
/
StartSession.php
63
74
Illuminate
\
Session
\
Middleware
\
StartSession
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
73
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
72
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Cookie
/
Middleware
/
AddQueuedCookiesToResponse.php
37
71
Illuminate
\
Cookie
\
Middleware
\
AddQueuedCookiesToResponse
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
70
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
69
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Cookie
/
Middleware
/
EncryptCookies.php
66
68
Illuminate
\
Cookie
\
Middleware
\
EncryptCookies
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
67
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
66
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
102
65
Illuminate
\
Pipeline
\
Pipeline
then
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
660
64
Illuminate
\
Routing
\
Router
runRouteWithinStack
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
635
63
Illuminate
\
Routing
\
Router
runRoute
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
601
62
Illuminate
\
Routing
\
Router
dispatchToRoute
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
590
61
Illuminate
\
Routing
\
Router
dispatch
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Support
/
Facades
/
Facade.php
221
60
Illuminate
\
Support
\
Facades
\
Facade
__callStatic
/
app
/
Http
/
Controllers
/
Frontend
/
SeoUrlsController.php
128
59
App
\
Http
\
Controllers
\
Frontend
\
SeoUrlsController
show
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Controller.php
54
58
call_user_func_array
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Controller.php
54
57
Illuminate
\
Routing
\
Controller
callAction
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
ControllerDispatcher.php
45
56
Illuminate
\
Routing
\
ControllerDispatcher
dispatch
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Route.php
212
55
Illuminate
\
Routing
\
Route
runController
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Route.php
169
54
Illuminate
\
Routing
\
Route
run
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
658
53
Illuminate
\
Routing
\
Router
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
30
52
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
app
/
Http
/
Middleware
/
DefaultLocateRedirector.php
36
51
App
\
Http
\
Middleware
\
DefaultLocateRedirector
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
50
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
49
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
app
/
Http
/
Middleware
/
UrlRedirector.php
50
48
App
\
Http
\
Middleware
\
UrlRedirector
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
47
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
46
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
app
/
Http
/
Middleware
/
OpenDebugbar.php
39
45
App
\
Http
\
Middleware
\
OpenDebugbar
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
44
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
43
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
renatomarinho
/
laravel-page-speed
/
src
/
Middleware
/
PageSpeed.php
27
42
RenatoMarinho
\
LaravelPageSpeed
\
Middleware
\
PageSpeed
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
41
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
40
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Middleware
/
SubstituteBindings.php
41
39
Illuminate
\
Routing
\
Middleware
\
SubstituteBindings
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
38
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
37
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
VerifyCsrfToken.php
68
36
Illuminate
\
Foundation
\
Http
\
Middleware
\
VerifyCsrfToken
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
35
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
34
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
Middleware
/
ShareErrorsFromSession.php
49
33
Illuminate
\
View
\
Middleware
\
ShareErrorsFromSession
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
32
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
31
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Middleware
/
StartSession.php
63
30
Illuminate
\
Session
\
Middleware
\
StartSession
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
29
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
28
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Cookie
/
Middleware
/
AddQueuedCookiesToResponse.php
37
27
Illuminate
\
Cookie
\
Middleware
\
AddQueuedCookiesToResponse
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
26
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
25
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Cookie
/
Middleware
/
EncryptCookies.php
66
24
Illuminate
\
Cookie
\
Middleware
\
EncryptCookies
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
23
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
22
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
102
21
Illuminate
\
Pipeline
\
Pipeline
then
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
660
20
Illuminate
\
Routing
\
Router
runRouteWithinStack
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
635
19
Illuminate
\
Routing
\
Router
runRoute
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
601
18
Illuminate
\
Routing
\
Router
dispatchToRoute
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
590
17
Illuminate
\
Routing
\
Router
dispatch
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
176
16
Illuminate
\
Foundation
\
Http
\
Kernel
Illuminate
\
Foundation
\
Http
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
30
15
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
fideloper
/
proxy
/
src
/
TrustProxies.php
56
14
Fideloper
\
Proxy
\
TrustProxies
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
13
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
12
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
TransformsRequest.php
30
11
Illuminate
\
Foundation
\
Http
\
Middleware
\
TransformsRequest
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
10
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
9
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
TransformsRequest.php
30
8
Illuminate
\
Foundation
\
Http
\
Middleware
\
TransformsRequest
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
7
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
6
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
ValidatePostSize.php
27
5
Illuminate
\
Foundation
\
Http
\
Middleware
\
ValidatePostSize
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
4
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
3
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
102
2
Illuminate
\
Pipeline
\
Pipeline
then
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
151
1
Illuminate
\
Foundation
\
Http
\
Kernel
sendRequestThroughRouter
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
116
0
Illuminate
\
Foundation
\
Http
\
Kernel
handle
/
raid
/
case
/
magnifiercomtw
/
public_html
/
index.php
61
/
raid
/
case
/
magnifiercomtw
/
website
/
app
/
Model
/
Repositories
/
Product
/
ProductCategoryRepository.php
    /**
     * 透過 ID 取得包含完整路徑的分類。
     *
     * @param int      $id
     * @param int|null $languageId
     *
     * @return ProductCategory
     */
    public function findWithFullRoute($id, $languageId = null)
    {
        $languageId = $languageId ?: config('app.language_id');

        $categories = $this->model->join('product_category_details as details', 'details.product_category_id', '=',
            'product_categories.id')
                                  ->where('language_id', $languageId)
                                  ->get(['product_categories.*', 'details.name']);
        $bottomCategory = $categories->where('id', $id)
                                     ->first();

        $ids = json_decode($bottomCategory->route);

        $routes = [];

        if (is_array($ids)) {
            foreach ($ids as $id) {
                $category = $categories->where('id', '=', $id)
                                       ->first();

                $routes[$category->id] = $category->name;
            }
        }

        $routes[$bottomCategory->id] = $bottomCategory->name;

        $bottomCategory->full_route = implode(' > ', $routes);
        $bottomCategory->full_routes = $routes;

        return $bottomCategory;
    }

Arguments
  1. "Trying to get property 'route' of non-object"
    
/
raid
/
case
/
magnifiercomtw
/
website
/
app
/
Model
/
Repositories
/
Product
/
ProductCategoryRepository.php
    /**
     * 透過 ID 取得包含完整路徑的分類。
     *
     * @param int      $id
     * @param int|null $languageId
     *
     * @return ProductCategory
     */
    public function findWithFullRoute($id, $languageId = null)
    {
        $languageId = $languageId ?: config('app.language_id');

        $categories = $this->model->join('product_category_details as details', 'details.product_category_id', '=',
            'product_categories.id')
                                  ->where('language_id', $languageId)
                                  ->get(['product_categories.*', 'details.name']);
        $bottomCategory = $categories->where('id', $id)
                                     ->first();

        $ids = json_decode($bottomCategory->route);

        $routes = [];

        if (is_array($ids)) {
            foreach ($ids as $id) {
                $category = $categories->where('id', '=', $id)
                                       ->first();

                $routes[$category->id] = $category->name;
            }
        }

        $routes[$bottomCategory->id] = $bottomCategory->name;

        $bottomCategory->full_route = implode(' > ', $routes);
        $bottomCategory->full_routes = $routes;

        return $bottomCategory;
    }

Arguments
  1. 8
    
  2. "Trying to get property 'route' of non-object"
    
  3. "/raid/case/magnifiercomtw/website/app/Model/Repositories/Product/ProductCategoryRepository.php"
    
  4. 272
    
  5. array:4 [
      "id" => 44
      "languageId" => 1
      "categories" => Collection {#1847}
      "bottomCategory" => null
    ]
    
/
raid
/
case
/
magnifiercomtw
/
website
/
app
/
Services
/
DefaultTitle
/
Object
/
ProductDefaultTitleFormat.php
    /**
     * 取得標題。
     *
     * @param DefaultTitleFormat $format
     * @param int|null           $languageId
     * @param array              $data
     *
     * @return mixed
     */
    public function getTitle($format, $languageId = null, $data)
    {
        $product = $this->productRepository->findOrFailByIdLocale($data['id'], $languageId);

        $title = $this->parseDefaultFormat($format, $languageId);
        $title = $this->parseFormat($title, 'product_name', $product->name);

        if (count($product->categories) > 0) {
            $category =
                $this->productCategoryRepository->findWithFullRoute($product->categories->first()->id, $languageId);

            $routes = $category->full_routes ?? [];

            if (array_last($routes) == $category->name) {
                array_pop($routes);
            }

            $parentCategoryName = array_last($routes);

            $topCategoryName = (array_first($routes) != $category->name) ? array_first($routes) : null;

            $title = $this->parseFormat($title, 'current_category_name', $category->name);
            $title = $this->parseFormat($title, 'parent_category_name', $parentCategoryName);
            $title = $this->parseFormat($title, 'top_category_name', $topCategoryName);
            // $title = $this->parseFormatNested($title, 'nested_category_name_asc,">"', $category->full_routes);
            // $title = $this->parseFormatNested($title, 'nested_category_name_desc,">"', $category->full_routes);
        }

        return $title;
    }
Arguments
  1. 44
    
  2. 1
    
/
raid
/
case
/
magnifiercomtw
/
website
/
app
/
Services
/
DefaultTitle
/
DefaultTitleFormatService.php
        return $result;
    }

    /**
     * 取得標題。
     *
     * @param string   $sn
     * @param int|null $languageId
     * @param array    $data
     *
     * @return mixed
     */
    public function getTitle($sn, $languageId = null, $data = [])
    {
        $format = $this->defaultTitleFormatRepository->findBySn($sn, $languageId);

        $object = DefaultTitleFormatFactory::create($format->type);

        return $object->getTitle($format, $languageId, $data);
    }

    /**
     * 更新預設標題格式。
     *
     * @param array $data
     * @param int   $id
     *
     * @return mixed
     */
    public function updateDefaultTitleFormat($data, $id)
    {
        $data = collect($data);

        // DefaultTitleFormat
        $format = $this->defaultTitleFormatRepository->findOrFail($id);

        // Detail
        foreach ($data->get('name', []) as $languageId => $name) {
            $scheme = implode(' ', $data->get('format')[$languageId] ?? []);
Arguments
  1. DefaultTitleFormat {#1804}
    
  2. null
    
  3. array:1 [
      "id" => 340
    ]
    
/
raid
/
case
/
magnifiercomtw
/
website
/
app
/
Http
/
Controllers
/
Frontend
/
ProductsController.php
            if (FeatureChecker::checkFeature(FeatureSnEnum::PRODUCT_OPTION)) {
                $optionGroups = $this->productOptionService->getProductOptionGroups($product);
                $optionCombinations = $this->productOptionService->getProductOptionCombinations($product);
            }

            // 取得分類資訊,讓頁面可以正確顯示麵包屑。
            $category = $this->pageCategoryService->getPreviousPageCategory($product->categories);

            // Page
            // 選單 active 網址。
            if (!is_null($category)) {
                $activeUrlLists[] = action('Frontend\ProductCategoriesController@show', [$category->slug], false);
            }

            $menus = $this->menuTypeService->getMenuTypesInFrontend($activeUrlLists ?? []);

            $defaultTitle = $cacheService->remember(CacheTypeEnum::FRONTEND_PRODUCT_DEFAULT_TITLE,
                function () use ($product) {
                    return $this->defaultTitleFormatService->getTitle(DefaultTitleFormatSnEnum::PRODUCT, null,
                        ['id' => $product->id]);
                }, $request->getRequestUri());

            $sideBar = $this->pageSidebarService->getPageSideBar($product, $menus, $category);

            $pageBanner = $this->pageBannerService->getProductBanner($product, $category);
            $breadcrumbs = Breadcrumb::generate('products', [$menus, $product, $category]);

            // View
            $view = $this->productService->getViewName($product, $category);
            $descriptions = $this->productService->getFrontendViewDescriptions($product);

            return view("frontend.products.{$view}",
                compact('product', 'category', 'availabilityList', 'additionalProducts', 'optionGroups',
                    'optionCombinations', 'menus', 'defaultTitle', 'sideBar', 'pageBanner', 'breadcrumbs',
                    'descriptions'));
        } catch (Exception $exception) {
            exception_debug($exception);

            abort(404);
        }
Arguments
  1. "product"
    
  2. null
    
  3. array:1 [
      "id" => 340
    ]
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Support
/
helpers.php
        }
 
        if (is_callable($default)) {
            return $default($value);
        }
 
        return $default;
    }
}
 
if (! function_exists('value')) {
    /**
     * Return the default value of the given value.
     *
     * @param  mixed  $value
     * @return mixed
     */
    function value($value)
    {
        return $value instanceof Closure ? $value() : $value;
    }
}
 
if (! function_exists('windows_os')) {
    /**
     * Determine whether the current environment is Windows based.
     *
     * @return bool
     */
    function windows_os()
    {
        return strtolower(substr(PHP_OS, 0, 3)) === 'win';
    }
}
 
if (! function_exists('with')) {
    /**
     * Return the given value, optionally passed through the given callback.
     *
     * @param  mixed  $value
/
raid
/
case
/
magnifiercomtw
/
website
/
app
/
Services
/
Optimize
/
Cache
/
CacheService.php
     *
     * @param string      $type
     * @param mixed       $default
     * @param string|null $id
     * @param bool        $nullIsPass
     *
     * @return mixed
     * @static
     */
    public function remember($type, $default, $id = null, $nullIsPass = false)
    {
        $key = $type . $id;

        $value = $this->cache->get($key);

        if (!is_null($value) || $nullIsPass) {
            return $value;
        }

        $value = value($default);

        $this->cache->put($key, $value, $this->rememberMinute);

        return $value;
    }

    /**
     * 新增路由快取。
     */
    public function routeCache()
    {
        Artisan::call('route:trans:cache');
    }

    /**
     * 設定快取的分鐘數。
     *
     * @param int $minute
     */
    public function setRememberMinute($minute)
Arguments
  1. Closure {#1793
      class: "App\Http\Controllers\Frontend\ProductsController"
      this: ProductsController {#1417 …}
      use: {
        $product: Product {#1648 …}
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
app
/
Http
/
Controllers
/
Frontend
/
ProductsController.php
                $optionGroups = $this->productOptionService->getProductOptionGroups($product);
                $optionCombinations = $this->productOptionService->getProductOptionCombinations($product);
            }

            // 取得分類資訊,讓頁面可以正確顯示麵包屑。
            $category = $this->pageCategoryService->getPreviousPageCategory($product->categories);

            // Page
            // 選單 active 網址。
            if (!is_null($category)) {
                $activeUrlLists[] = action('Frontend\ProductCategoriesController@show', [$category->slug], false);
            }

            $menus = $this->menuTypeService->getMenuTypesInFrontend($activeUrlLists ?? []);

            $defaultTitle = $cacheService->remember(CacheTypeEnum::FRONTEND_PRODUCT_DEFAULT_TITLE,
                function () use ($product) {
                    return $this->defaultTitleFormatService->getTitle(DefaultTitleFormatSnEnum::PRODUCT, null,
                        ['id' => $product->id]);
                }, $request->getRequestUri());

            $sideBar = $this->pageSidebarService->getPageSideBar($product, $menus, $category);

            $pageBanner = $this->pageBannerService->getProductBanner($product, $category);
            $breadcrumbs = Breadcrumb::generate('products', [$menus, $product, $category]);

            // View
            $view = $this->productService->getViewName($product, $category);
            $descriptions = $this->productService->getFrontendViewDescriptions($product);

            return view("frontend.products.{$view}",
                compact('product', 'category', 'availabilityList', 'additionalProducts', 'optionGroups',
                    'optionCombinations', 'menus', 'defaultTitle', 'sideBar', 'pageBanner', 'breadcrumbs',
                    'descriptions'));
        } catch (Exception $exception) {
            exception_debug($exception);

            abort(404);
        }
    }
Arguments
  1. "frontend_product_default_title"
    
  2. Closure {#1793
      class: "App\Http\Controllers\Frontend\ProductsController"
      this: ProductsController {#1417 …}
      use: {
        $product: Product {#1648 …}
      }
    }
    
  3. "/tw/product-PUT015"
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Controller.php
    /**
     * Get the middleware assigned to the controller.
     *
     * @return array
     */
    public function getMiddleware()
    {
        return $this->middleware;
    }
 
    /**
     * Execute an action on the controller.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function callAction($method, $parameters)
    {
        return call_user_func_array([$this, $method], $parameters);
    }
 
    /**
     * Handle calls to missing methods on the controller.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return mixed
     *
     * @throws \BadMethodCallException
     */
    public function __call($method, $parameters)
    {
        throw new BadMethodCallException("Method [{$method}] does not exist on [".get_class($this).'].');
    }
}
 
Arguments
  1. CacheService {#1595}
    
  2. PageService {#1612}
    
  3. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  4. "product-PUT015"
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Controller.php
    /**
     * Get the middleware assigned to the controller.
     *
     * @return array
     */
    public function getMiddleware()
    {
        return $this->middleware;
    }
 
    /**
     * Execute an action on the controller.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function callAction($method, $parameters)
    {
        return call_user_func_array([$this, $method], $parameters);
    }
 
    /**
     * Handle calls to missing methods on the controller.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return mixed
     *
     * @throws \BadMethodCallException
     */
    public function __call($method, $parameters)
    {
        throw new BadMethodCallException("Method [{$method}] does not exist on [".get_class($this).'].');
    }
}
 
Arguments
  1. array:2 [
      0 => ProductsController {#1417}
      1 => "show"
    ]
    
  2. array:4 [
      0 => CacheService {#1595}
      1 => PageService {#1612}
      2 => Request {#43
        #json: null
        #convertedFiles: []
        #userResolver: Closure {#1286
          class: "Illuminate\Auth\AuthServiceProvider"
          this: AuthServiceProvider {#42 …}
          parameters: {
            $guard: {
              default: null
            }
          }
          use: {
            $app: Application {#2 …}
          }
        }
        #routeResolver: Closure {#1287
          class: "Illuminate\Routing\Router"
          this: Router {#26 …}
          use: {
            $route: Route {#677 …}
          }
        }
        +attributes: ParameterBag {#45}
        +request: ParameterBag {#51}
        +query: ParameterBag {#51}
        +server: ServerBag {#47}
        +files: FileBag {#48}
        +cookies: ParameterBag {#46}
        +headers: HeaderBag {#49}
        #content: null
        #languages: null
        #charsets: null
        #encodings: null
        #acceptableContentTypes: null
        #pathInfo: "/tw/product-PUT015"
        #requestUri: "/tw/product-PUT015"
        #baseUrl: ""
        #basePath: null
        #method: "GET"
        #format: null
        #session: Store {#1337}
        #locale: null
        #defaultLocale: "en"
        -isHostValid: true
        -isForwardedValid: true
        basePath: ""
        format: "html"
      }
      "productSlug" => "product-PUT015"
    ]
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
ControllerDispatcher.php
    {
        $this->container = $container;
    }
 
    /**
     * Dispatch a request to a given controller and method.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  mixed  $controller
     * @param  string  $method
     * @return mixed
     */
    public function dispatch(Route $route, $controller, $method)
    {
        $parameters = $this->resolveClassMethodDependencies(
            $route->parametersWithoutNulls(), $controller, $method
        );
 
        if (method_exists($controller, 'callAction')) {
            return $controller->callAction($method, $parameters);
        }
 
        return $controller->{$method}(...array_values($parameters));
    }
 
    /**
     * Get the middleware for the controller instance.
     *
     * @param  \Illuminate\Routing\Controller  $controller
     * @param  string  $method
     * @return array
     */
    public function getMiddleware($controller, $method)
    {
        if (! method_exists($controller, 'getMiddleware')) {
            return [];
        }
 
        return collect($controller->getMiddleware())->reject(function ($data) use ($method) {
            return static::methodExcludedByOptions($method, $data['options']);
Arguments
  1. "show"
    
  2. array:4 [
      0 => CacheService {#1595}
      1 => PageService {#1612}
      2 => Request {#43
        #json: null
        #convertedFiles: []
        #userResolver: Closure {#1286
          class: "Illuminate\Auth\AuthServiceProvider"
          this: AuthServiceProvider {#42 …}
          parameters: {
            $guard: {
              default: null
            }
          }
          use: {
            $app: Application {#2 …}
          }
        }
        #routeResolver: Closure {#1287
          class: "Illuminate\Routing\Router"
          this: Router {#26 …}
          use: {
            $route: Route {#677 …}
          }
        }
        +attributes: ParameterBag {#45}
        +request: ParameterBag {#51}
        +query: ParameterBag {#51}
        +server: ServerBag {#47}
        +files: FileBag {#48}
        +cookies: ParameterBag {#46}
        +headers: HeaderBag {#49}
        #content: null
        #languages: null
        #charsets: null
        #encodings: null
        #acceptableContentTypes: null
        #pathInfo: "/tw/product-PUT015"
        #requestUri: "/tw/product-PUT015"
        #baseUrl: ""
        #basePath: null
        #method: "GET"
        #format: null
        #session: Store {#1337}
        #locale: null
        #defaultLocale: "en"
        -isHostValid: true
        -isForwardedValid: true
        basePath: ""
        format: "html"
      }
      "productSlug" => "product-PUT015"
    ]
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Route.php
    protected function runCallable()
    {
        $callable = $this->action['uses'];
 
        return $callable(...array_values($this->resolveMethodDependencies(
            $this->parametersWithoutNulls(), new ReflectionFunction($this->action['uses'])
        )));
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     *
     * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
     */
    protected function runController()
    {
        return $this->controllerDispatcher()->dispatch(
            $this, $this->getController(), $this->getControllerMethod()
        );
    }
 
    /**
     * Get the controller instance for the route.
     *
     * @return mixed
     */
    public function getController()
    {
        if (! $this->controller) {
            $class = $this->parseControllerCallback()[0];
 
            $this->controller = $this->container->make(ltrim($class, '\\'));
        }
 
        return $this->controller;
    }
 
    /**
Arguments
  1. Route {#739}
    
  2. ProductsController {#1417}
    
  3. "show"
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Route.php
     *
     * @throws \UnexpectedValueException
     */
    protected function parseAction($action)
    {
        return RouteAction::parse($this->uri, $action);
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     */
    public function run()
    {
        $this->container = $this->container ?: new Container;
 
        try {
            if ($this->isControllerAction()) {
                return $this->runController();
            }
 
            return $this->runCallable();
        } catch (HttpResponseException $e) {
            return $e->getResponse();
        }
    }
 
    /**
     * Checks whether the route's action is a controller.
     *
     * @return bool
     */
    protected function isControllerAction()
    {
        return is_string($this->action['uses']);
    }
 
    /**
     * Run the route action and return the response.
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
    /**
     * 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);
    }
 
    /**
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
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 {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
app
/
Http
/
Middleware
/
AuthorizeFeature.php
use FeatureChecker;
 
class AuthorizeFeature
{
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \Closure                 $next
     *
     * @return mixed
     */
    public function handle($request, Closure $next, $sn)
    {
        if (!FeatureChecker::checkFeature($sn)) {
            abort(404);
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1400
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1402 …}
      parameters: {
        $passable: {}
      }
      use: {
        $destination: Closure {#1401 …}
      }
    }
    
  3. "product"
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
app
/
Http
/
Middleware
/
CheckCustomerInformation.php
     *
     * @param CustomerService $customerService
     */
    public function __construct(CustomerService $customerService)
    {
        $this->customerService = $customerService;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \Closure                 $next
     *
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (!FeatureChecker::checkFeature(FeatureSnEnum::CUSTOMER)) {
            return $next($request);
        }
 
        $customerId = Auth::guard('frontend')
                          ->id();
 
        if (!is_null($customerId) && !$this->customerService->checkCustomerInformationIsCompleted($customerId)) {
            return redirect()->action('Frontend\AccountsController@editProfile');
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1398
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1402 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1400 …}
        $pipe: "App\Http\Middleware\AuthorizeFeature:product"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
app
/
Http
/
Middleware
/
DefaultLocateRedirector.php
     */
    public function handle($request, Closure $next)
    {
        $segments = $request->segments();
 
        $customCode = app('fastshop.global')->get('default_locale_custom_code');
 
        if (count($segments) > 0 && $segments[0] === $customCode) {
            array_shift($segments);
 
            $path = implode('/', $segments);
 
            if ($request->getQueryString()) {
                $path .= '?' . $request->getQueryString();
            }
 
            return redirect()->to($path, 301, ['cache-control' => 'no-cache']);
        }
 
        return $next($request);
    }
}
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1397
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1402 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1398 …}
        $pipe: "App\Http\Middleware\CheckCustomerInformation"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
app
/
Http
/
Middleware
/
UrlRedirector.php
    {
        $url = urldecode($request->getRequestUri());
 
        $seoRedirect = $this->seoRedirectRepository->findBySource($url);
 
        if (is_null($seoRedirect)) {
            $url = urldecode($request->getPathInfo());
 
            $seoRedirect = $this->seoRedirectRepository->findBySource($url);
        }
 
        if (!is_null($seoRedirect)) {
            return redirect()->to(
                $seoRedirect->destination,
                $seoRedirect->status_code,
                ['cache-control' => 'no-cache']
            );
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1396
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1402 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1397 …}
        $pipe: "App\Http\Middleware\DefaultLocateRedirector"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
app
/
Http
/
Middleware
/
OpenDebugbar.php
    public function handle($request, Closure $next)
    {
        if (app()->bound('debugbar')) {
            app('debugbar')->disable();
        }
 
        $userService = app(UserService::class);
 
        $isUser = Auth::guard('backend')
                      ->check();
 
        if ($isUser && $userService->isSuperUser()) {
            config()->set('app.debug', true);
        }
 
        if (config()->get('app.debug', false) && app()->bound('debugbar')) {
            app('debugbar')->enable();
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1395
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1402 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1396 …}
        $pipe: "App\Http\Middleware\UrlRedirector"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
renatomarinho
/
laravel-page-speed
/
src
/
Middleware
/
PageSpeed.php
abstract class PageSpeed
{
    /**
     * Apply rules.
     *
     * @param string $buffer
     * @return string
     */
    abstract public function apply($buffer);
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \Closure $next
     * @return \Illuminate\Http\Response $response
     */
    public function handle($request, Closure $next)
    {
        $response = $next($request);
 
        if (! $this->shouldProcessPageSpeed($request, $response)) {
            return $response;
        }
 
        $html = $response->getContent();
        $newContent = $this->apply($html);
 
        return $response->setContent($newContent);
    }
 
    /**
     * Replace content response.
     *
     * @param  array $replace
     * @param  string $buffer
     * @return string
     */
    protected function replace(array $replace, $buffer)
    {
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1394
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1402 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1395 …}
        $pipe: "App\Http\Middleware\OpenDebugbar"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Middleware
/
SubstituteBindings.php
     */
    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 {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1393
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1402 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1394 …}
        $pipe: "RenatoMarinho\LaravelPageSpeed\Middleware\InsertDNSPrefetch"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
VerifyCsrfToken.php
    }
 
    /**
     * 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 $this->addCookieToResponse($request, $next($request));
        }
 
        throw new TokenMismatchException;
    }
 
    /**
     * Determine if the HTTP request uses a ‘read’ verb.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return bool
     */
    protected function isReading($request)
    {
        return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
    }
 
    /**
     * Determine if the application is running unit tests.
     *
     * @return bool
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1392
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1402 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1393 …}
        $pipe: "Illuminate\Routing\Middleware\SubstituteBindings"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
Middleware
/
ShareErrorsFromSession.php
     * 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 {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1391
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1402 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1392 …}
        $pipe: "App\Http\Middleware\VerifyCsrfToken"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Middleware
/
StartSession.php
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->sessionHandled = true;
 
        // If a session driver has been configured, we will need to start the session here
        // so that the data is ready for an application. Note that the Laravel sessions
        // do not make use of PHP "native" sessions in any way since they are crappy.
        if ($this->sessionConfigured()) {
            $request->setLaravelSession(
                $session = $this->startSession($request)
            );
 
            $this->collectGarbage($session);
        }
 
        $response = $next($request);
 
        // Again, if the session has been configured we will need to close out the session
        // so that the attributes may be persisted to some storage medium. We will also
        // add the session identifier cookie to the application response headers now.
        if ($this->sessionConfigured()) {
            $this->storeCurrentUrl($request, $session);
 
            $this->addCookieToResponse($response, $session);
        }
 
        return $response;
    }
 
    /**
     * Perform any final actions for the request lifecycle.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Symfony\Component\HttpFoundation\Response  $response
     * @return void
     */
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1390
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1402 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1391 …}
        $pipe: "Illuminate\View\Middleware\ShareErrorsFromSession"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Cookie
/
Middleware
/
AddQueuedCookiesToResponse.php
     * 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 {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1385
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1402 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1390 …}
        $pipe: "Illuminate\Session\Middleware\StartSession"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Cookie
/
Middleware
/
EncryptCookies.php
     * Disable encryption for the given cookie name(s).
     *
     * @param  string|array  $cookieName
     * @return void
     */
    public function disableFor($cookieName)
    {
        $this->except = array_merge($this->except, (array) $cookieName);
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    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 => $c) {
            if ($this->isDisabled($key)) {
                continue;
            }
 
            try {
                $request->cookies->set($key, $this->decryptCookie($key, $c));
            } catch (DecryptException $e) {
                $request->cookies->set($key, null);
            }
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1386
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1402 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1385 …}
        $pipe: "Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
    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);
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            return $destination($passable);
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
     *
     * @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 {#1401
      class: "Illuminate\Routing\Router"
      this: Router {#26 …}
      parameters: {
        $request: {}
      }
      use: {
        $route: Route {#739 …}
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
     * @param  Route  $route
     * @param  Request  $request
     * @return mixed
     */
    protected function runRoute(Request $request, Route $route)
    {
        $request->setRouteResolver(function () use ($route) {
            return $route;
        });
 
        $this->events->dispatch(new Events\RouteMatched($route, $request));
 
        return $this->prepareResponse($request,
            $this->runRouteWithinStack($route, $request)
        );
    }
 
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
Arguments
  1. Route {#739}
    
  2. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
    {
        $this->current = $route = $this->routes->match($request);
 
        $this->container->instance(Route::class, $route);
 
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Route {#739}
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
     * @return mixed
     */
    public function respondWithRoute($name)
    {
        $route = tap($this->routes->getByName($name))->bind($this->currentRequest);
 
        return $this->runRoute($this->currentRequest, $route);
    }
 
    /**
     * Dispatch the request to the application.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
Arguments
  1. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Support
/
Facades
/
Facade.php
    }
 
    /**
     * 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. Request {#1370
      #json: null
      #convertedFiles: null
      #userResolver: null
      #routeResolver: Closure {#1389
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#739 …}
        }
      }
      +attributes: ParameterBag {#1373}
      +request: ParameterBag {#1377}
      +query: ParameterBag {#1376}
      +server: ServerBag {#1380}
      +files: FileBag {#1381}
      +cookies: ParameterBag {#1382}
      +headers: HeaderBag {#1384}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
app
/
Http
/
Controllers
/
Frontend
/
SeoUrlsController.php
                $routeCollection = new RouteCollection();

                // 將頁面的 Route 放在最前面。
                /** @var \Illuminate\Routing\Route $route */
                foreach ($oldRouteCollection->getRoutes() as $index => $route) {
                    foreach ($pageRoutes as $type => $pageRoute) {
                        if ($entity->type == $type && $route->getActionName() == $pageRoute) {
                            $routeCollection->add($route);

                            break;
                        }
                    }
                }

                // 將 SEO URL 的 Route 放到最後。
                $routeCollection = $this->putSEORouteToEnd($oldRouteCollection, $routeCollection);
            }

            Route::setRoutes($routeCollection);
            $response = Route::dispatch($request);

            // 還原成原本的 Route。
            Route::setRoutes($oldRouteCollection);

            // Route response 需要重導向的直接重新導向。
            if ($response->isRedirection()) {
                $headers = $response->headers->allPreserveCase();

                if (isset($headers['Location'][0])) {
                    return redirect()->to($headers['Location'][0]);
                }
            }

            return $response->getContent();
        } catch (HasSeoUrlHttpException $exception) {
            return redirect()->to($exception->getMessage(), 301);
        }
    }
}
Arguments
  1. "dispatch"
    
  2. array:1 [
      0 => Request {#1370
        #json: null
        #convertedFiles: null
        #userResolver: null
        #routeResolver: Closure {#1389
          class: "Illuminate\Routing\Router"
          this: Router {#26 …}
          use: {
            $route: Route {#739 …}
          }
        }
        +attributes: ParameterBag {#1373}
        +request: ParameterBag {#1377}
        +query: ParameterBag {#1376}
        +server: ServerBag {#1380}
        +files: FileBag {#1381}
        +cookies: ParameterBag {#1382}
        +headers: HeaderBag {#1384}
        #content: null
        #languages: null
        #charsets: null
        #encodings: null
        #acceptableContentTypes: array:4 [
          0 => "text/html"
          1 => "application/xhtml+xml"
          2 => "application/xml"
          3 => "*/*"
        ]
        #pathInfo: "/tw/product-PUT015"
        #requestUri: "/tw/product-PUT015"
        #baseUrl: ""
        #basePath: null
        #method: "GET"
        #format: null
        #session: Store {#1337}
        #locale: null
        #defaultLocale: "en"
        -isHostValid: true
        -isForwardedValid: true
        basePath: ""
        format: "html"
      }
    ]
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Controller.php
    /**
     * Get the middleware assigned to the controller.
     *
     * @return array
     */
    public function getMiddleware()
    {
        return $this->middleware;
    }
 
    /**
     * Execute an action on the controller.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function callAction($method, $parameters)
    {
        return call_user_func_array([$this, $method], $parameters);
    }
 
    /**
     * Handle calls to missing methods on the controller.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return mixed
     *
     * @throws \BadMethodCallException
     */
    public function __call($method, $parameters)
    {
        throw new BadMethodCallException("Method [{$method}] does not exist on [".get_class($this).'].');
    }
}
 
Arguments
  1. "tw/product-PUT015"
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Controller.php
    /**
     * Get the middleware assigned to the controller.
     *
     * @return array
     */
    public function getMiddleware()
    {
        return $this->middleware;
    }
 
    /**
     * Execute an action on the controller.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function callAction($method, $parameters)
    {
        return call_user_func_array([$this, $method], $parameters);
    }
 
    /**
     * Handle calls to missing methods on the controller.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return mixed
     *
     * @throws \BadMethodCallException
     */
    public function __call($method, $parameters)
    {
        throw new BadMethodCallException("Method [{$method}] does not exist on [".get_class($this).'].');
    }
}
 
Arguments
  1. array:2 [
      0 => SeoUrlsController {#1300}
      1 => "show"
    ]
    
  2. array:1 [
      "seoKey" => "tw/product-PUT015"
    ]
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
ControllerDispatcher.php
    {
        $this->container = $container;
    }
 
    /**
     * Dispatch a request to a given controller and method.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  mixed  $controller
     * @param  string  $method
     * @return mixed
     */
    public function dispatch(Route $route, $controller, $method)
    {
        $parameters = $this->resolveClassMethodDependencies(
            $route->parametersWithoutNulls(), $controller, $method
        );
 
        if (method_exists($controller, 'callAction')) {
            return $controller->callAction($method, $parameters);
        }
 
        return $controller->{$method}(...array_values($parameters));
    }
 
    /**
     * Get the middleware for the controller instance.
     *
     * @param  \Illuminate\Routing\Controller  $controller
     * @param  string  $method
     * @return array
     */
    public function getMiddleware($controller, $method)
    {
        if (! method_exists($controller, 'getMiddleware')) {
            return [];
        }
 
        return collect($controller->getMiddleware())->reject(function ($data) use ($method) {
            return static::methodExcludedByOptions($method, $data['options']);
Arguments
  1. "show"
    
  2. array:1 [
      "seoKey" => "tw/product-PUT015"
    ]
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Route.php
    protected function runCallable()
    {
        $callable = $this->action['uses'];
 
        return $callable(...array_values($this->resolveMethodDependencies(
            $this->parametersWithoutNulls(), new ReflectionFunction($this->action['uses'])
        )));
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     *
     * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
     */
    protected function runController()
    {
        return $this->controllerDispatcher()->dispatch(
            $this, $this->getController(), $this->getControllerMethod()
        );
    }
 
    /**
     * Get the controller instance for the route.
     *
     * @return mixed
     */
    public function getController()
    {
        if (! $this->controller) {
            $class = $this->parseControllerCallback()[0];
 
            $this->controller = $this->container->make(ltrim($class, '\\'));
        }
 
        return $this->controller;
    }
 
    /**
Arguments
  1. Route {#677}
    
  2. SeoUrlsController {#1300}
    
  3. "show"
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Route.php
     *
     * @throws \UnexpectedValueException
     */
    protected function parseAction($action)
    {
        return RouteAction::parse($this->uri, $action);
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     */
    public function run()
    {
        $this->container = $this->container ?: new Container;
 
        try {
            if ($this->isControllerAction()) {
                return $this->runController();
            }
 
            return $this->runCallable();
        } catch (HttpResponseException $e) {
            return $e->getResponse();
        }
    }
 
    /**
     * Checks whether the route's action is a controller.
     *
     * @return bool
     */
    protected function isControllerAction()
    {
        return is_string($this->action['uses']);
    }
 
    /**
     * Run the route action and return the response.
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
    /**
     * 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);
    }
 
    /**
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
app
/
Http
/
Middleware
/
DefaultLocateRedirector.php
     */
    public function handle($request, Closure $next)
    {
        $segments = $request->segments();
 
        $customCode = app('fastshop.global')->get('default_locale_custom_code');
 
        if (count($segments) > 0 && $segments[0] === $customCode) {
            array_shift($segments);
 
            $path = implode('/', $segments);
 
            if ($request->getQueryString()) {
                $path .= '?' . $request->getQueryString();
            }
 
            return redirect()->to($path, 301, ['cache-control' => 'no-cache']);
        }
 
        return $next($request);
    }
}
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1289
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1293 …}
      parameters: {
        $passable: {}
      }
      use: {
        $destination: Closure {#1205 …}
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
app
/
Http
/
Middleware
/
UrlRedirector.php
    {
        $url = urldecode($request->getRequestUri());
 
        $seoRedirect = $this->seoRedirectRepository->findBySource($url);
 
        if (is_null($seoRedirect)) {
            $url = urldecode($request->getPathInfo());
 
            $seoRedirect = $this->seoRedirectRepository->findBySource($url);
        }
 
        if (!is_null($seoRedirect)) {
            return redirect()->to(
                $seoRedirect->destination,
                $seoRedirect->status_code,
                ['cache-control' => 'no-cache']
            );
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1298
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1293 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1289 …}
        $pipe: "App\Http\Middleware\DefaultLocateRedirector"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
app
/
Http
/
Middleware
/
OpenDebugbar.php
    public function handle($request, Closure $next)
    {
        if (app()->bound('debugbar')) {
            app('debugbar')->disable();
        }
 
        $userService = app(UserService::class);
 
        $isUser = Auth::guard('backend')
                      ->check();
 
        if ($isUser && $userService->isSuperUser()) {
            config()->set('app.debug', true);
        }
 
        if (config()->get('app.debug', false) && app()->bound('debugbar')) {
            app('debugbar')->enable();
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1297
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1293 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1298 …}
        $pipe: "App\Http\Middleware\UrlRedirector"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
renatomarinho
/
laravel-page-speed
/
src
/
Middleware
/
PageSpeed.php
abstract class PageSpeed
{
    /**
     * Apply rules.
     *
     * @param string $buffer
     * @return string
     */
    abstract public function apply($buffer);
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \Closure $next
     * @return \Illuminate\Http\Response $response
     */
    public function handle($request, Closure $next)
    {
        $response = $next($request);
 
        if (! $this->shouldProcessPageSpeed($request, $response)) {
            return $response;
        }
 
        $html = $response->getContent();
        $newContent = $this->apply($html);
 
        return $response->setContent($newContent);
    }
 
    /**
     * Replace content response.
     *
     * @param  array $replace
     * @param  string $buffer
     * @return string
     */
    protected function replace(array $replace, $buffer)
    {
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1296
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1293 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1297 …}
        $pipe: "App\Http\Middleware\OpenDebugbar"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Middleware
/
SubstituteBindings.php
     */
    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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1295
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1293 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1296 …}
        $pipe: "RenatoMarinho\LaravelPageSpeed\Middleware\InsertDNSPrefetch"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
VerifyCsrfToken.php
    }
 
    /**
     * 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 $this->addCookieToResponse($request, $next($request));
        }
 
        throw new TokenMismatchException;
    }
 
    /**
     * Determine if the HTTP request uses a ‘read’ verb.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return bool
     */
    protected function isReading($request)
    {
        return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
    }
 
    /**
     * Determine if the application is running unit tests.
     *
     * @return bool
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1294
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1293 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1295 …}
        $pipe: "Illuminate\Routing\Middleware\SubstituteBindings"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
Middleware
/
ShareErrorsFromSession.php
     * 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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1316
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1293 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1294 …}
        $pipe: "App\Http\Middleware\VerifyCsrfToken"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Middleware
/
StartSession.php
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->sessionHandled = true;
 
        // If a session driver has been configured, we will need to start the session here
        // so that the data is ready for an application. Note that the Laravel sessions
        // do not make use of PHP "native" sessions in any way since they are crappy.
        if ($this->sessionConfigured()) {
            $request->setLaravelSession(
                $session = $this->startSession($request)
            );
 
            $this->collectGarbage($session);
        }
 
        $response = $next($request);
 
        // Again, if the session has been configured we will need to close out the session
        // so that the attributes may be persisted to some storage medium. We will also
        // add the session identifier cookie to the application response headers now.
        if ($this->sessionConfigured()) {
            $this->storeCurrentUrl($request, $session);
 
            $this->addCookieToResponse($response, $session);
        }
 
        return $response;
    }
 
    /**
     * Perform any final actions for the request lifecycle.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Symfony\Component\HttpFoundation\Response  $response
     * @return void
     */
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1311
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1293 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1316 …}
        $pipe: "Illuminate\View\Middleware\ShareErrorsFromSession"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Cookie
/
Middleware
/
AddQueuedCookiesToResponse.php
     * 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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1303
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1293 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1311 …}
        $pipe: "Illuminate\Session\Middleware\StartSession"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Cookie
/
Middleware
/
EncryptCookies.php
     * Disable encryption for the given cookie name(s).
     *
     * @param  string|array  $cookieName
     * @return void
     */
    public function disableFor($cookieName)
    {
        $this->except = array_merge($this->except, (array) $cookieName);
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    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 => $c) {
            if ($this->isDisabled($key)) {
                continue;
            }
 
            try {
                $request->cookies->set($key, $this->decryptCookie($key, $c));
            } catch (DecryptException $e) {
                $request->cookies->set($key, null);
            }
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1308
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#1293 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1303 …}
        $pipe: "Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
    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);
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            return $destination($passable);
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
     *
     * @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 {#1205
      class: "Illuminate\Routing\Router"
      this: Router {#26 …}
      parameters: {
        $request: {}
      }
      use: {
        $route: Route {#677 …}
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
     * @param  Route  $route
     * @param  Request  $request
     * @return mixed
     */
    protected function runRoute(Request $request, Route $route)
    {
        $request->setRouteResolver(function () use ($route) {
            return $route;
        });
 
        $this->events->dispatch(new Events\RouteMatched($route, $request));
 
        return $this->prepareResponse($request,
            $this->runRouteWithinStack($route, $request)
        );
    }
 
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
Arguments
  1. Route {#677}
    
  2. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
    {
        $this->current = $route = $this->routes->match($request);
 
        $this->container->instance(Route::class, $route);
 
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Route {#677}
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
     * @return mixed
     */
    public function respondWithRoute($name)
    {
        $route = tap($this->routes->getByName($name))->bind($this->currentRequest);
 
        return $this->runRoute($this->currentRequest, $route);
    }
 
    /**
     * Dispatch the request to the application.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
     * @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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
fideloper
/
proxy
/
src
/
TrustProxies.php
    {
        $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, Closure $next)
    {
        $this->setTrustedProxyHeaderNames($request);
        $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)
    {
        $trustedIps = $this->proxies ?: $this->config->get('trustedproxy.proxies');
 
        // We only trust specific IP addresses
        if (is_array($trustedIps)) {
            return $this->setTrustedProxyIpAddressesToSpecificIps($request, $trustedIps);
        }
 
        // We trust any IP address that calls us, but not proxies further
        // up the forwarding chain.
        // TODO: Determine if this should only trust the first IP address
        //       Currently it trusts the entire chain (array of IPs),
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#1202
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#31 …}
      parameters: {
        $passable: {}
      }
      use: {
        $destination: Closure {#23 …}
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
TransformsRequest.php
     * The additional attributes passed to the middleware.
     *
     * @var array
     */
    protected $attributes = [];
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next, ...$attributes)
    {
        $this->attributes = $attributes;
 
        $this->clean($request);
 
        return $next($request);
    }
 
    /**
     * Clean the request's data.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return void
     */
    protected function clean($request)
    {
        $this->cleanParameterBag($request->query);
 
        if ($request->isJson()) {
            $this->cleanParameterBag($request->json());
        } else {
            $this->cleanParameterBag($request->request);
        }
    }
 
    /**
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#769
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#31 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#1202 …}
        $pipe: "App\Http\Middleware\TrustProxies"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
TransformsRequest.php
     * The additional attributes passed to the middleware.
     *
     * @var array
     */
    protected $attributes = [];
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next, ...$attributes)
    {
        $this->attributes = $attributes;
 
        $this->clean($request);
 
        return $next($request);
    }
 
    /**
     * Clean the request's data.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return void
     */
    protected function clean($request)
    {
        $this->cleanParameterBag($request->query);
 
        if ($request->isJson()) {
            $this->cleanParameterBag($request->json());
        } else {
            $this->cleanParameterBag($request->request);
        }
    }
 
    /**
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#770
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#31 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#769 …}
        $pipe: "Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
ValidatePostSize.php
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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($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];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#768
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#31 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#770 …}
        $pipe: "App\Http\Middleware\TrimStrings"
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
    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);
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            return $destination($passable);
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
Arguments
  1. Request {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
    }
 
    /**
     * 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 {#23
      class: "Illuminate\Foundation\Http\Kernel"
      this: Kernel {#30 …}
      parameters: {
        $request: {}
      }
    }
    
/
raid
/
case
/
magnifiercomtw
/
website
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
            $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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
raid
/
case
/
magnifiercomtw
/
public_html
/
index.php
 
$app->bind('path.public', function() {
    return __DIR__;
});
/*
|--------------------------------------------------------------------------
| 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 {#43
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#1286
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#42 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#1287
        class: "Illuminate\Routing\Router"
        this: Router {#26 …}
        use: {
          $route: Route {#677 …}
        }
      }
      +attributes: ParameterBag {#45}
      +request: ParameterBag {#51}
      +query: ParameterBag {#51}
      +server: ServerBag {#47}
      +files: FileBag {#48}
      +cookies: ParameterBag {#46}
      +headers: HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/tw/product-PUT015"
      #requestUri: "/tw/product-PUT015"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#1337}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
USER
"magnifiercomtw"
HOME
"/raid/case/magnifiercomtw"
SCRIPT_NAME
"/index.php"
REQUEST_URI
"/tw/product-PUT015"
QUERY_STRING
""
REQUEST_METHOD
"GET"
SERVER_PROTOCOL
"HTTP/1.1"
GATEWAY_INTERFACE
"CGI/1.1"
REDIRECT_URL
"/tw/product-PUT015"
REMOTE_PORT
"55497"
SCRIPT_FILENAME
"/raid/case/magnifiercomtw/public_html/index.php"
SERVER_ADMIN
"webmaster@magnifier.com.tw"
CONTEXT_DOCUMENT_ROOT
"/raid/case/magnifiercomtw/public_html"
CONTEXT_PREFIX
""
REQUEST_SCHEME
"https"
DOCUMENT_ROOT
"/raid/case/magnifiercomtw/public_html"
REMOTE_ADDR
"163.181.67.179"
SERVER_PORT
"443"
SERVER_ADDR
"10.140.15.199"
SERVER_NAME
"www.magnifier.com.tw"
SERVER_SOFTWARE
"Apache"
SERVER_SIGNATURE
""
PATH
"/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin:/opt/bin"
HTTP_X_HTTPS
"1"
HTTP_REFERER
"http://www.magnifier.com.tw/tw/product-PUT015"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_ACCEPT
"*/*"
HTTP_ALI_CDN_FORWARD_CLIENT_IP
"3.15.208.109"
HTTP_ALI_CDN_REAL_IP
"3.15.208.109"
HTTP_X_CLIENT_SCHEME
"https"
HTTP_X_FORWARDED_FOR
"3.15.208.109"
HTTP_ALI_SWIFT_STAT_HOST
"www.magnifier.com.tw"
HTTP_ALI_SWIFT_LOG_HOST
"www.magnifier.com.tw"
HTTP_EAGLEEYE_TRACEID
"0819529517387496441681310e"
HTTP_VIA
"us26.l1, ens-cache12.us26, l2us3.l2, ens-cache31.l2us3"
HTTP_HOST
"www.magnifier.com.tw"
proxy-nokeepalive
"1"
HTTPS
"on"
SCRIPT_URI
"https://www.magnifier.com.tw/tw/product-PUT015"
SCRIPT_URL
"/tw/product-PUT015"
UNIQUE_ID
"Z6M2zRvzWqrXMapA3FSCjwAAAQg"
REDIRECT_STATUS
"200"
REDIRECT_HTTPS
"on"
REDIRECT_SCRIPT_URI
"https://www.magnifier.com.tw/tw/product-PUT015"
REDIRECT_SCRIPT_URL
"/tw/product-PUT015"
REDIRECT_UNIQUE_ID
"Z6M2zRvzWqrXMapA3FSCjwAAAQg"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1738749645.0827
REQUEST_TIME
1738749645
argv
[]
argc
0
APP_NAME
"magnifier"
APP_ENV
"production"
APP_KEY
"base64:HgdOcLVsZeEuTMc8KX1dTlADUKA2k7+cOrc7kqA7eDM="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_IS_HTTPS
"auto"
APP_URL
"https://www.magnifier.com.tw/"
SHARED_ASSET_URL
"//goshop.gtut.com.tw/assets/1.0/"
APP_ROOT_IN_SUBDIRECTORY
""
PAYMENT_FLOW_DEBUG
"true"
LOGISTICS_DEBUG
"true"
ELECTRONIC_RECEIPT_DEBUG
"true"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"magnifiercomtw_db"
DB_USERNAME
"magnifiercomtw_db"
DB_PASSWORD
"JG6q5JvE)^|v"
DB_PREFIX
"shop_"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
CACHE_PREFIX
""
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"sync"
MAIL_DRIVER
"mailgun"
MAIL_HOST
""
MAIL_PORT
""
MAIL_USERNAME
""
MAIL_PASSWORD
""
MAIL_ENCRYPTION
""
MAIL_FROM_ADDRESS
"postmaster@mailgun.magnifier.com.tw"
MAIL_FROM_NAME
"俞泰工業股份有限公司"
MAILGUN_DOMAIN
"mailgun.magnifier.com.tw"
MAILGUN_SECRET
"e367633d69ca34f651cf7fb1c05d2da3"
NEWSLETTER_MAILGUN_DOMAIN
""
NEWSLETTER_MAILGUN_SECRET
""
FRONTEND_BOOTSTRAP_VERSION
"4"
FRONTEND_MENU_DEPTH
"4"
FRONTEND_SIDEBAR_DEPTH
"3"
FRONTEND_SIDEBAR_PRODUCT_CATEGORY_IGNORE_TOP
"false"
BACKEND_LOCALE_LIMIT
"zh-TW"
FRONTEND_USE_FULL_SITE_SEARCH
"true"
FRONTEND_USE_PRODUCT_SEARCH
"false"
FILE_UPLOAD_SIZE_LIMIT
"64M"
IMAGE_COMPRESS_RESIZE
"true"
IMAGE_COMPRESS_QUANTITY
"true"
IMAGE_PROXY_DRIVER
"none"
EIP_TARGET_URL
"https://eip.ikema.com.tw"
EIP_WEBSITE_INFORMATION_ID
"967bf8fe-c660-4f78-83cf-49a51746c0c7"
Key Value
APP_NAME
"magnifier"
APP_ENV
"production"
APP_KEY
"base64:HgdOcLVsZeEuTMc8KX1dTlADUKA2k7+cOrc7kqA7eDM="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_IS_HTTPS
"auto"
APP_URL
"https://www.magnifier.com.tw/"
SHARED_ASSET_URL
"//goshop.gtut.com.tw/assets/1.0/"
APP_ROOT_IN_SUBDIRECTORY
""
PAYMENT_FLOW_DEBUG
"true"
LOGISTICS_DEBUG
"true"
ELECTRONIC_RECEIPT_DEBUG
"true"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"magnifiercomtw_db"
DB_USERNAME
"magnifiercomtw_db"
DB_PASSWORD
"JG6q5JvE)^|v"
DB_PREFIX
"shop_"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
CACHE_PREFIX
""
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"sync"
MAIL_DRIVER
"mailgun"
MAIL_HOST
""
MAIL_PORT
""
MAIL_USERNAME
""
MAIL_PASSWORD
""
MAIL_ENCRYPTION
""
MAIL_FROM_ADDRESS
"postmaster@mailgun.magnifier.com.tw"
MAIL_FROM_NAME
"俞泰工業股份有限公司"
MAILGUN_DOMAIN
"mailgun.magnifier.com.tw"
MAILGUN_SECRET
"e367633d69ca34f651cf7fb1c05d2da3"
NEWSLETTER_MAILGUN_DOMAIN
""
NEWSLETTER_MAILGUN_SECRET
""
FRONTEND_BOOTSTRAP_VERSION
"4"
FRONTEND_MENU_DEPTH
"4"
FRONTEND_SIDEBAR_DEPTH
"3"
FRONTEND_SIDEBAR_PRODUCT_CATEGORY_IGNORE_TOP
"false"
BACKEND_LOCALE_LIMIT
"zh-TW"
FRONTEND_USE_FULL_SITE_SEARCH
"true"
FRONTEND_USE_PRODUCT_SEARCH
"false"
FILE_UPLOAD_SIZE_LIMIT
"64M"
IMAGE_COMPRESS_RESIZE
"true"
IMAGE_COMPRESS_QUANTITY
"true"
IMAGE_PROXY_DRIVER
"none"
EIP_TARGET_URL
"https://eip.ikema.com.tw"
EIP_WEBSITE_INFORMATION_ID
"967bf8fe-c660-4f78-83cf-49a51746c0c7"
0. Whoops\Handler\PrettyPageHandler