Error
Call to a member function getModelLang() on null Error thrown with message "Call to a member function getModelLang() on null" Stacktrace: #55 Error in /www/wwwroot/demo_47/Expand/Pipeline/MyLangPipeline.php:10 #54 Expand\Pipeline\MyLangPipeline:commonHandle in /www/wwwroot/demo_47/Modules/Shop/Pipeline/GoodsLang.php:13 #53 Modules\Shop\Pipeline\GoodsLang:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #52 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 #51 Illuminate\Pipeline\Pipeline:then in /www/wwwroot/demo_47/bootstrap/function.php:551 #50 pipeline_func in /www/wwwroot/demo_47/Modules/Shop/Service/StoreService.php:163 #49 Modules\Shop\Service\StoreService:goods in /www/wwwroot/demo_47/Modules/Shop/Http/Controllers/Web/ShopController.php:16 #48 Modules\Shop\Http\Controllers\Web\ShopController:goods in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54 #47 Illuminate\Routing\Controller:callAction in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:45 #46 Illuminate\Routing\ControllerDispatcher:dispatch in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Routing/Route.php:254 #45 Illuminate\Routing\Route:runController in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Routing/Route.php:197 #44 Illuminate\Routing\Route:run in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Routing/Router.php:695 #43 Illuminate\Routing\Router:Illuminate\Routing\{closure} in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:128 #42 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/app/Http/Middleware/SwitchSessionLang.php:47 #41 App\Http\Middleware\SwitchSessionLang:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #40 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/app/Http/Middleware/SystemInstall.php:29 #39 App\Http\Middleware\SystemInstall:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #38 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:50 #37 Illuminate\Routing\Middleware\SubstituteBindings:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #36 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:78 #35 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #34 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 #33 Illuminate\View\Middleware\ShareErrorsFromSession:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #32 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:121 #31 Illuminate\Session\Middleware\StartSession:handleStatefulRequest in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 #30 Illuminate\Session\Middleware\StartSession:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #29 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 #28 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #27 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:67 #26 Illuminate\Cookie\Middleware\EncryptCookies:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #25 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 #24 Illuminate\Pipeline\Pipeline:then in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Routing/Router.php:697 #23 Illuminate\Routing\Router:runRouteWithinStack in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Routing/Router.php:672 #22 Illuminate\Routing\Router:runRoute in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Routing/Router.php:636 #21 Illuminate\Routing\Router:dispatchToRoute in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Routing/Router.php:625 #20 Illuminate\Routing\Router:dispatch in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:166 #19 Illuminate\Foundation\Http\Kernel:Illuminate\Foundation\Http\{closure} in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:128 #18 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/Expand/Addon/Middlewares/RouteBehavior.php:22 #17 Expand\Addon\Middlewares\RouteBehavior:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #16 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21 #15 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php:40 #14 Illuminate\Foundation\Http\Middleware\TrimStrings:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #13 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27 #12 Illuminate\Foundation\Http\Middleware\ValidatePostSize:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #11 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php:86 #10 Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #9 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/vendor/fruitcake/laravel-cors/src/HandleCors.php:38 #8 Fruitcake\Cors\HandleCors:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #7 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/vendor/fideloper/proxy/src/TrustProxies.php:57 #6 Fideloper\Proxy\TrustProxies:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #5 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/Expand/We7/Middlewares/We7Adaptation.php:30 #4 Expand\We7\Middlewares\We7Adaptation:handle in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #3 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 #2 Illuminate\Pipeline\Pipeline:then in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:141 #1 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in /www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:110 #0 Illuminate\Foundation\Http\Kernel:handle in /www/wwwroot/demo_47/public/index.php:52
55
Error
/Expand/Pipeline/MyLangPipeline.php10
54
Expand\Pipeline\MyLangPipeline commonHandle
/Modules/Shop/Pipeline/GoodsLang.php13
53
Modules\Shop\Pipeline\GoodsLang handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
52
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php103
51
Illuminate\Pipeline\Pipeline then
/bootstrap/function.php551
50
pipeline_func
/Modules/Shop/Service/StoreService.php163
49
Modules\Shop\Service\StoreService goods
/Modules/Shop/Http/Controllers/Web/ShopController.php16
48
Modules\Shop\Http\Controllers\Web\ShopController goods
/vendor/laravel/framework/src/Illuminate/Routing/Controller.php54
47
Illuminate\Routing\Controller callAction
/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php45
46
Illuminate\Routing\ControllerDispatcher dispatch
/vendor/laravel/framework/src/Illuminate/Routing/Route.php254
45
Illuminate\Routing\Route runController
/vendor/laravel/framework/src/Illuminate/Routing/Route.php197
44
Illuminate\Routing\Route run
/vendor/laravel/framework/src/Illuminate/Routing/Router.php695
43
Illuminate\Routing\Router Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php128
42
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/app/Http/Middleware/SwitchSessionLang.php47
41
App\Http\Middleware\SwitchSessionLang handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
40
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/app/Http/Middleware/SystemInstall.php29
39
App\Http\Middleware\SystemInstall handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
38
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php50
37
Illuminate\Routing\Middleware\SubstituteBindings handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
36
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php78
35
Illuminate\Foundation\Http\Middleware\VerifyCsrfToken handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
34
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php49
33
Illuminate\View\Middleware\ShareErrorsFromSession handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
32
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php121
31
Illuminate\Session\Middleware\StartSession handleStatefulRequest
/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php64
30
Illuminate\Session\Middleware\StartSession handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
29
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php37
28
Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
27
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php67
26
Illuminate\Cookie\Middleware\EncryptCookies handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
25
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php103
24
Illuminate\Pipeline\Pipeline then
/vendor/laravel/framework/src/Illuminate/Routing/Router.php697
23
Illuminate\Routing\Router runRouteWithinStack
/vendor/laravel/framework/src/Illuminate/Routing/Router.php672
22
Illuminate\Routing\Router runRoute
/vendor/laravel/framework/src/Illuminate/Routing/Router.php636
21
Illuminate\Routing\Router dispatchToRoute
/vendor/laravel/framework/src/Illuminate/Routing/Router.php625
20
Illuminate\Routing\Router dispatch
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php166
19
Illuminate\Foundation\Http\Kernel Illuminate\Foundation\Http\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php128
18
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/Expand/Addon/Middlewares/RouteBehavior.php22
17
Expand\Addon\Middlewares\RouteBehavior handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
16
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php21
15
Illuminate\Foundation\Http\Middleware\TransformsRequest handle
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php40
14
Illuminate\Foundation\Http\Middleware\TrimStrings handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
13
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php27
12
Illuminate\Foundation\Http\Middleware\ValidatePostSize handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
11
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php86
10
Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
9
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/fruitcake/laravel-cors/src/HandleCors.php38
8
Fruitcake\Cors\HandleCors handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
7
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/fideloper/proxy/src/TrustProxies.php57
6
Fideloper\Proxy\TrustProxies handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
5
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/Expand/We7/Middlewares/We7Adaptation.php30
4
Expand\We7\Middlewares\We7Adaptation handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
3
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php103
2
Illuminate\Pipeline\Pipeline then
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php141
1
Illuminate\Foundation\Http\Kernel sendRequestThroughRouter
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php110
0
Illuminate\Foundation\Http\Kernel handle
/public/index.php52
/www/wwwroot/demo_47/Expand/Pipeline/MyLangPipeline.php
<?php
 
namespace Expand\Pipeline;
 
 
class MyLangPipeline
{
    public function commonHandle($content, $ident)
    {
        return $content->getModelLang($ident);
    }
}
 
Arguments
  1. "Call to a member function getModelLang() on null"
    
/www/wwwroot/demo_47/Modules/Shop/Pipeline/GoodsLang.php
<?php
 
namespace Modules\Shop\Pipeline;
 
use Closure;
use Expand\Pipeline\MyLangPipeline;
use Expand\Pipeline\MyPipeline;
 
class GoodsLang extends MyLangPipeline implements MyPipeline
{
    public function handle($content, Closure $next)
    {
        $content = $this->commonHandle($content, 'goods');
 
        return $next($content);
    }
}
 
Arguments
  1. null
    
  2. "goods"
    
/www/wwwroot/demo_47/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)) {
                        [$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];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
Arguments
  1. null
    
  2. Closure($passable) {#796 …4}
    
/www/wwwroot/demo_47/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);
    }
 
    /**
     * Run the pipeline and return the result.
     *
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
Arguments
  1. null
    
/www/wwwroot/demo_47/bootstrap/function.php
if (!function_exists('pipeline_func')) {
    /**
     * 管道处理通用方法
     * @param $value
     * @param $ident
     * @param null $default
     * @return mixed
     */
    function pipeline_func($value, $ident, $default = null)
    {
        $pipes = config('pipeline')[$ident] ?? [];
 
        if ($pipes) {
 
            return app(Pipeline::class)
                ->send($value)
                ->through($pipes)
                ->then(function ($value) use ($default) {
                    return $value ?: ($default !== null ? $default : null);
                });
        }
 
        return $value;
    }
}
 
 
if (!function_exists('page_title')) {
    /**
     * 页面标题
     * @return array|false|mixed|string
     */
    function page_title()
    {
        $title = session('page_title');
        $pageIdent = session('the_page');
 
        if (function_exists("the_{$pageIdent}_title")) {
            $title = call_user_func("the_{$pageIdent}_title");
        }
Arguments
  1. Closure($value) {#789 …2}
    
/www/wwwroot/demo_47/Modules/Shop/Service/StoreService.php
        $goods = Goods::with('category:id,name')->find($id);
 
        if ($goods) {
 
            $goods->goods_albums = $this->goodsAlbums($id);
 
            $mobileImages = $this->goodsMobileImages($id);
            $goods->mobile_images = $mobileImages ? array_column(
                $mobileImages->toArray(), 'path') : [];
 
            $goods->specList = $this->goodsSpecList($id);
 
            $skuList = $this->goodsSkuList($id);
 
            $goods->skuList = $skuList;
            $goods->stock = $skuList ? array_sum(array_column($skuList, 'stock')) : $goods->stock;
 
        }
 
        return pipeline_func($goods, "goods");
    }
 
    /**
     * 获取商品库存
     * @param $goodsId
     * @param $skuId
     * @return float|int
     */
    public function getGoodsStock($goodsId, $skuId = 0)
    {
        if (empty($skuId)) {
 
            $goods = Goods::find($goodsId);
            $skuList = $this->goodsSkuList($goodsId);
 
            return $skuList ? array_sum(array_column($skuList, 'stock')) : $goods->stock;
 
        } else {
 
            $spec = GoodsSpecModel::where('goods_id', $goodsId)->where('id', $skuId)->first();
Arguments
  1. null
    
  2. "goods"
    
/www/wwwroot/demo_47/Modules/Shop/Http/Controllers/Web/ShopController.php
<?php
 
 
namespace Modules\Shop\Http\Controllers\Web;
 
 
use App\Http\Controllers\MyController;
use Modules\Shop\Models\Goods;
use Modules\Shop\Models\GoodsCategory;
 
class ShopController extends MyController
{
 
    public function goods($id)
    {
        $goods = app('store')->goods($id);
 
        if (empty($goods)) {
            abort(404);
        }
 
        is_goods($goods);
 
        return $this->theme('goods', compact('goods'));
    }
 
    public function store()
    {
        session([
            'the_page' => 'store',
            'page_title' => '插件市场 - MyCms',
            'page_keyword' => '插件市场',
            'page_description' => '插件市场:这些插件基于MyCms开发,快速安装集成到你的系统,助你快速上线争取更多业务',
        ]);
 
        return $this->theme('store', ['cid' => 0]);
    }
 
    public function category($cid)
    {
Arguments
  1. "3"
    
/www/wwwroot/demo_47/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 $this->{$method}(...array_values($parameters));
    }
 
    /**
     * Handle calls to missing methods on the controller.
     *
     * @param  string  $method
     * @param  array  $parameters
     * @return mixed
     *
     * @throws \BadMethodCallException
     */
    public function __call($method, $parameters)
    {
        throw new BadMethodCallException(sprintf(
            'Method %s::%s does not exist.', static::class, $method
        ));
    }
}
 
Arguments
  1. "3"
    
/www/wwwroot/demo_47/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. "goods"
    
  2. array:1 [
      "id" => "3"
    ]
    
/www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Routing/Route.php
     * Determine if the route action is a serialized Closure.
     *
     * @return bool
     */
    protected function isSerializedClosure()
    {
        return RouteAction::containsSerializedClosure($this->action);
    }
 
    /**
     * 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. Illuminate\Routing\Route {#503}
    
  2. Modules\Shop\Http\Controllers\Web\ShopController {#674}
    
  3. "goods"
    
/www/wwwroot/demo_47/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']) && ! $this->isSerializedClosure();
    }
 
    /**
     * Run the route action and return the response.
/www/wwwroot/demo_47/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)
    {
        $computedMiddleware = $route->gatherMiddleware();
 
        $excluded = collect($route->excludedMiddleware())->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten()->values()->all();
 
        $middleware = collect($computedMiddleware)->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
/www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            try {
                return $destination($passable);
            } catch (Throwable $e) {
                return $this->handleException($passable, $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 {
                    if (is_callable($pipe)) {
                        // If the pipe is a callable, then we will call it directly, but otherwise we
                        // will resolve the pipes out of the dependency container and call it with
                        // the appropriate method and arguments, returning the results back out.
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/app/Http/Middleware/SwitchSessionLang.php
 
                    if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
 
                        $clientLang = mb_substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2, 'utf-8');
 
                        if (in_array($clientLang, array_keys($sysLang))) {
 
                            set_current_lang($clientLang);
                        }
 
                    } else {
 
                        set_current_lang(system_default_lang());
                    }
                }
 
            }
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/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)) {
                        [$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];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#672 …4}
    
/www/wwwroot/demo_47/app/Http/Middleware/SystemInstall.php
{
    /**
     * Handle an incoming request.
     *
     * @param \Illuminate\Http\Request $request
     * @param \Closure $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        $path = $request->path();
        $array = explode("/", $path);
 
        if (!file_exists(storage_path("installed"))) {
            if (isset($array[0]) && $array[0] != 'install') {
                return redirect()->to("/install");
            }
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/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)) {
                        [$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];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#765 …4}
    
/www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        try {
            $this->router->substituteBindings($route = $request->route());
 
            $this->router->substituteImplicitBindings($route);
        } catch (ModelNotFoundException $exception) {
            if ($route->getMissing()) {
                return $route->getMissing()($request);
            }
 
            throw $exception;
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/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)) {
                        [$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];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#766 …4}
    
/www/wwwroot/demo_47/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 tap($next($request), function ($response) use ($request) {
                if ($this->shouldAddXsrfTokenCookie()) {
                    $this->addCookieToResponse($request, $response);
                }
            });
        }
 
        throw new TokenMismatchException('CSRF token mismatch.');
    }
 
    /**
     * Determine if the HTTP request uses a ‘read’ verb.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return bool
     */
    protected function isReading($request)
    {
        return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
    }
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/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)) {
                        [$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];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#767 …4}
    
/www/wwwroot/demo_47/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. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/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)) {
                        [$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];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#768 …4}
    
/www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
    /**
     * Handle the given request within session state.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Contracts\Session\Session  $session
     * @param  \Closure  $next
     * @return mixed
     */
    protected function handleStatefulRequest(Request $request, $session, Closure $next)
    {
        // If a session driver has been configured, we will need to start the session here
        // so that the data is ready for an application. Note that the Laravel sessions
        // do not make use of PHP "native" sessions in any way since they are crappy.
        $request->setLaravelSession(
            $this->startSession($request, $session)
        );
 
        $this->collectGarbage($session);
 
        $response = $next($request);
 
        $this->storeCurrentUrl($request, $session);
 
        $this->addCookieToResponse($response, $session);
 
        // Again, if the session has been configured we will need to close out the session
        // so that the attributes may be persisted to some storage medium. We will also
        // add the session identifier cookie to the application response headers now.
        $this->saveSession($request);
 
        return $response;
    }
 
    /**
     * Start the session for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Contracts\Session\Session  $session
     * @return \Illuminate\Contracts\Session\Session
     */
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (! $this->sessionConfigured()) {
            return $next($request);
        }
 
        $session = $this->getSession($request);
 
        if ($this->manager->shouldBlock() ||
            ($request->route() instanceof Route && $request->route()->locksFor())) {
            return $this->handleRequestWhileBlocking($request, $session, $next);
        }
 
        return $this->handleStatefulRequest($request, $session, $next);
    }
 
    /**
     * Handle the given request within session state.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Contracts\Session\Session  $session
     * @param  \Closure  $next
     * @return mixed
     */
    protected function handleRequestWhileBlocking(Request $request, $session, Closure $next)
    {
        if (! $request->route() instanceof Route) {
            return;
        }
 
        $lockFor = $request->route() && $request->route()->locksFor()
                        ? $request->route()->locksFor()
                        : 10;
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Illuminate\Session\Store {#780}
    
  3. Closure($passable) {#769 …4}
    
/www/wwwroot/demo_47/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)) {
                        [$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];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#769 …4}
    
/www/wwwroot/demo_47/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. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/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)) {
                        [$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];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#770 …4}
    
/www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php
     * Disable encryption for the given cookie name(s).
     *
     * @param  string|array  $name
     * @return void
     */
    public function disableFor($name)
    {
        $this->except = array_merge($this->except, (array) $name);
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function handle($request, Closure $next)
    {
        return $this->encrypt($next($this->decrypt($request)));
    }
 
    /**
     * Decrypt the cookies on the request.
     *
     * @param  \Symfony\Component\HttpFoundation\Request  $request
     * @return \Symfony\Component\HttpFoundation\Request
     */
    protected function decrypt(Request $request)
    {
        foreach ($request->cookies as $key => $cookie) {
            if ($this->isDisabled($key) || is_array($cookie)) {
                continue;
            }
 
            try {
                $value = $this->decryptCookie($key, $cookie);
 
                $hasValidPrefix = strpos($value, CookieValuePrefix::create($key, $this->encrypter->getKey())) === 0;
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/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)) {
                        [$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];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#771 …4}
    
/www/wwwroot/demo_47/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);
    }
 
    /**
     * Run the pipeline and return the result.
     *
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/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)
    {
        $computedMiddleware = $route->gatherMiddleware();
 
        $excluded = collect($route->excludedMiddleware())->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten()->values()->all();
 
        $middleware = collect($computedMiddleware)->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten()->reject(function ($name) use ($excluded) {
            if (empty($excluded)) {
Arguments
  1. Closure($request) {#763 …4}
    
/www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Routing/Router.php
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Routing\Route  $route
     * @return \Symfony\Component\HttpFoundation\Response
     */
    protected function runRoute(Request $request, Route $route)
    {
        $request->setRouteResolver(function () use ($route) {
            return $route;
        });
 
        $this->events->dispatch(new 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. Illuminate\Routing\Route {#503}
    
  2. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Routing/Router.php
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    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 \Symfony\Component\HttpFoundation\Response
     */
    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);
 
        $route->setContainer($this->container);
 
        $this->container->instance(Route::class, $route);
 
        return $route;
    }
 
    /**
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Illuminate\Routing\Route {#503}
    
/www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Routing/Router.php
     * @return \Symfony\Component\HttpFoundation\Response
     */
    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 \Symfony\Component\HttpFoundation\Response
     */
    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 \Symfony\Component\HttpFoundation\Response
     */
    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. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/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. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            try {
                return $destination($passable);
            } catch (Throwable $e) {
                return $this->handleException($passable, $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 {
                    if (is_callable($pipe)) {
                        // If the pipe is a callable, then we will call it directly, but otherwise we
                        // will resolve the pipes out of the dependency container and call it with
                        // the appropriate method and arguments, returning the results back out.
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/Expand/Addon/Middlewares/RouteBehavior.php
 
namespace Expand\Addon\Middlewares;
 
 
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
 
class RouteBehavior
{
    /**
     * Handle an incoming request.
     *
     * @param \Illuminate\Http\Request $request
     * @param \Closure $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        $response = $next($request);
 
        $this->rule($request, $response);
 
        return $response;
    }
 
    /**
     * 监听规则
     */
    protected function rule(Request $request, Response $response)
    {
 
        $method = $request->method();
        $path = $request->path();
 
        if ($request->route() === null) {
            return false;
        }
 
        $middlewares = $request->route()->middleware();
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/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)) {
                        [$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];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#643 …4}
    
/www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php
 
namespace Illuminate\Foundation\Http\Middleware;
 
use Closure;
use Symfony\Component\HttpFoundation\ParameterBag;
 
class TransformsRequest
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->clean($request);
 
        return $next($request);
    }
 
    /**
     * Clean the request's data.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return void
     */
    protected function clean($request)
    {
        $this->cleanParameterBag($request->query);
 
        if ($request->isJson()) {
            $this->cleanParameterBag($request->json());
        } elseif ($request->request !== $request->query) {
            $this->cleanParameterBag($request->request);
        }
    }
 
    /**
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php
    protected $except = [
        //
    ];
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        foreach (static::$skipCallbacks as $callback) {
            if ($callback($request)) {
                return $next($request);
            }
        }
 
        return parent::handle($request, $next);
    }
 
    /**
     * Transform the given value.
     *
     * @param  string  $key
     * @param  mixed  $value
     * @return mixed
     */
    protected function transform($key, $value)
    {
        if (in_array($key, $this->except, true)) {
            return $value;
        }
 
        return is_string($value) ? trim($value) : $value;
    }
 
    /**
     * Register a callback that instructs the middleware to be skipped.
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#116 …4}
    
/www/wwwroot/demo_47/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)) {
                        [$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];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#116 …4}
    
/www/wwwroot/demo_47/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. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/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)) {
                        [$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];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#39 …4}
    
/www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php
                }
            }
 
            if (isset($data['template'])) {
                return response(
                    $data['template'],
                    $data['status'] ?? 503,
                    $this->getHeaders($data)
                );
            }
 
            throw new HttpException(
                $data['status'] ?? 503,
                'Service Unavailable',
                null,
                $this->getHeaders($data)
            );
        }
 
        return $next($request);
    }
 
    /**
     * Determine if the incoming request has a maintenance mode bypass cookie.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  array  $data
     * @return bool
     */
    protected function hasValidBypassCookie($request, array $data)
    {
        return isset($data['secret']) &&
                $request->cookie('laravel_maintenance') &&
                MaintenanceModeBypassCookie::isValid(
                    $request->cookie('laravel_maintenance'),
                    $data['secret']
                );
    }
 
    /**
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/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)) {
                        [$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];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#652 …4}
    
/www/wwwroot/demo_47/vendor/fruitcake/laravel-cors/src/HandleCors.php
    protected $container;
 
    public function __construct(CorsService $cors, Container $container)
    {
        $this->cors = $cors;
        $this->container = $container;
    }
 
    /**
     * Handle an incoming request. Based on Asm89\Stack\Cors by asm89
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return Response
     */
    public function handle($request, Closure $next)
    {
        // Check if we're dealing with CORS and if we should handle it
        if (! $this->shouldRun($request)) {
            return $next($request);
        }
 
        // For Preflight, return the Preflight response
        if ($this->cors->isPreflightRequest($request)) {
            $response = $this->cors->handlePreflightRequest($request);
 
            $this->cors->varyHeader($response, 'Access-Control-Request-Method');
 
            return $response;
        }
 
 
        // Handle the request
        $response = $next($request);
 
        if ($request->getMethod() === 'OPTIONS') {
            $this->cors->varyHeader($response, 'Access-Control-Request-Method');
        }
 
        return $this->addHeaders($request, $response);
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/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)) {
                        [$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];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#682 …4}
    
/www/wwwroot/demo_47/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 $request, Closure $next)
    {
        $request::setTrustedProxies([], $this->getTrustedHeaderNames()); // Reset trusted proxies between requests
        $this->setTrustedProxyIpAddresses($request);
 
        return $next($request);
    }
 
    /**
     * Sets the trusted proxies on the request to the value of trustedproxy.proxies
     *
     * @param \Illuminate\Http\Request $request
     */
    protected function setTrustedProxyIpAddresses(Request $request)
    {
        $trustedIps = $this->proxies ?: $this->config->get('trustedproxy.proxies');
 
        // Trust any IP address that calls us
        // `**` for backwards compatibility, but is deprecated
        if ($trustedIps === '*' || $trustedIps === '**') {
            return $this->setTrustedProxyIpAddressesToTheCallingIp($request);
        }
 
        // Support IPs addresses separated by comma
        $trustedIps = is_string($trustedIps) ? array_map('trim', explode(',', $trustedIps)) : $trustedIps;
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/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)) {
                        [$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];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#683 …4}
    
/www/wwwroot/demo_47/Expand/We7/Middlewares/We7Adaptation.php
    use RequestHelpers;
 
    /**
     * Handle an incoming request.
     *
     * @param \Illuminate\Http\Request $request
     * @param \Closure $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        if (env('IS_WE7') && $request->input('route-url')) {
 
            $request = request()
                ->propertyAware('pathInfo', \Illuminate\Support\Str::start($this->request('route-url'), '/'))
                ->propertyAware('method', $request->method());
 
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/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)) {
                        [$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];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
  2. Closure($passable) {#651 …4}
    
/www/wwwroot/demo_47/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);
    }
 
    /**
     * Run the pipeline and return the result.
     *
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/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($request) {#685 …4}
    
/www/wwwroot/demo_47/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
    public function __construct(Application $app, Router $router)
    {
        $this->app = $app;
        $this->router = $router;
 
        $this->syncMiddlewareToRouter();
    }
 
    /**
     * 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 (Throwable $e) {
            $this->reportException($e);
 
            $response = $this->renderException($request, $e);
        }
 
        $this->app['events']->dispatch(
            new RequestHandled($request, $response)
        );
 
        return $response;
    }
 
    /**
     * Send the given request through the middleware / router.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    protected function sendRequestThroughRouter($request)
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    
/www/wwwroot/demo_47/public/index.php
 
require __DIR__.'/../vendor/autoload.php';
 
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request using
| the application's HTTP kernel. Then, we will send the response back
| to this client's browser, allowing them to enjoy our application.
|
*/
 
$app = require_once __DIR__.'/../bootstrap/app.php';
 
$kernel = $app->make(Kernel::class);
 
$response = tap($kernel->handle(
    $request = Request::capture()
))->send();
 
$kernel->terminate($request, $response);
 
Arguments
  1. Illuminate\Http\Request {#43
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#644 …4}
      #routeResolver: Closure() {#601 …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
      +request: Symfony\Component\HttpFoundation\InputBag {#51}
      +query: Symfony\Component\HttpFoundation\InputBag {#51}
      +server: Symfony\Component\HttpFoundation\ServerBag {#47}
      +files: Symfony\Component\HttpFoundation\FileBag {#48}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#46}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/goods/3"
      #requestUri: "/goods/3"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {#780}
      #locale: ""
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      basePath: ""
      format: "html"
    }
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
USER
"www"
HOME
"/home/www"
HTTP_USER_AGENT
"claudebot"
HTTP_ACCEPT
"*/*"
HTTP_ALI_CDN_REAL_IP
"44.210.239.12"
HTTP_X_CLIENT_SCHEME
"https"
HTTP_X_FORWARDED_FOR
"44.210.239.12"
HTTP_ALI_SWIFT_STAT_HOST
"level2.demo.mycms.net.cn"
HTTP_ALI_SWIFT_LOG_HOST
"demo.mycms.net.cn"
HTTP_EAGLEEYE_TRACEID
"3da0c00f17117092074174730e"
HTTP_VIA
"cn6425.l1, kunlun1.cn6425, l2cn3160.l2, cache70.l2cn3160"
HTTP_HOST
"demo.mycms.net.cn"
PATH_INFO
""
REDIRECT_STATUS
"200"
SERVER_NAME
"demo.mycms.net.cn"
SERVER_PORT
"80"
SERVER_ADDR
"10.0.4.7"
REMOTE_PORT
"57654"
REMOTE_ADDR
"58.216.31.88"
SERVER_SOFTWARE
"nginx/1.22.1"
GATEWAY_INTERFACE
"CGI/1.1"
REQUEST_SCHEME
"http"
SERVER_PROTOCOL
"HTTP/1.1"
DOCUMENT_ROOT
"/www/wwwroot/demo_47/public"
DOCUMENT_URI
"/index.php"
REQUEST_URI
"/goods/3"
SCRIPT_NAME
"/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
""
SCRIPT_FILENAME
"/www/wwwroot/demo_47/public/index.php"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1711709208.1567
REQUEST_TIME
1711709208
APP_NAME
"一码科技"
APP_ENV
"local"
APP_KEY
"base64:KwyMeQtcc4Vse/pkLQDvsaYWb1gb6qkmrdDNjtz3v1w="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"https://demo.mycms.net.cn/"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"demo_mycms"
DB_USERNAME
"demo_mycms"
DB_PASSWORD
"m4reeZHAFyCSkKXP"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"redis"
SESSION_DRIVER
"file"
QUEUE_DRIVER
"sync"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
REDIS_CACHE_DB
"5"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.mailtrap.io"
MAIL_PORT
"2525"
MAIL_USERNAME
"null"
MAIL_PASSWORD
"null"
MAIL_ENCRYPTION
"null"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
IS_HTTPS
"true"
Key Value
APP_NAME
"一码科技"
APP_ENV
"local"
APP_KEY
"base64:KwyMeQtcc4Vse/pkLQDvsaYWb1gb6qkmrdDNjtz3v1w="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"https://demo.mycms.net.cn/"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"demo_mycms"
DB_USERNAME
"demo_mycms"
DB_PASSWORD
"m4reeZHAFyCSkKXP"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"redis"
SESSION_DRIVER
"file"
QUEUE_DRIVER
"sync"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
REDIS_CACHE_DB
"5"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.mailtrap.io"
MAIL_PORT
"2525"
MAIL_USERNAME
"null"
MAIL_PASSWORD
"null"
MAIL_ENCRYPTION
"null"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
IS_HTTPS
"true"
0. Whoops\Handler\PrettyPageHandler