ErrorException (E_WARNING)
Invalid argument supplied for foreach() ErrorException thrown with message "Invalid argument supplied for foreach()" Stacktrace: #50 ErrorException in /data/web/dahailaozhen/app/Http/Controllers/Book/MainController.php:794 #49 Illuminate\Foundation\Bootstrap\HandleExceptions:handleError in /data/web/dahailaozhen/app/Http/Controllers/Book/MainController.php:794 #48 App\Http\Controllers\Book\MainController:downloadTxt in /data/web/dahailaozhen/app/Http/Controllers/Book/MainController.php:868 #47 App\Http\Controllers\Book\MainController:download in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54 #46 call_user_func_array in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54 #45 Illuminate\Routing\Controller:callAction in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:45 #44 Illuminate\Routing\ControllerDispatcher:dispatch in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Route.php:212 #43 Illuminate\Routing\Route:runController in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Route.php:169 #42 Illuminate\Routing\Route:run in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Router.php:679 #41 Illuminate\Routing\Router:Illuminate\Routing\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 #40 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41 #39 Illuminate\Routing\Middleware\SubstituteBindings:handle in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:151 #38 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #37 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 #36 Illuminate\View\Middleware\ShareErrorsFromSession:handle in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:151 #35 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #34 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:63 #33 Illuminate\Session\Middleware\StartSession:handle in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:151 #32 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #31 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 #30 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse:handle in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:151 #29 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #28 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:66 #27 Illuminate\Cookie\Middleware\EncryptCookies:handle in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:151 #26 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #25 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:104 #24 Illuminate\Pipeline\Pipeline:then in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Router.php:681 #23 Illuminate\Routing\Router:runRouteWithinStack in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Router.php:656 #22 Illuminate\Routing\Router:runRoute in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Router.php:622 #21 Illuminate\Routing\Router:dispatchToRoute in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Router.php:611 #20 Illuminate\Routing\Router:dispatch in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:176 #19 Illuminate\Foundation\Http\Kernel:Illuminate\Foundation\Http\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 #18 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /data/web/dahailaozhen/vendor/fideloper/proxy/src/TrustProxies.php:57 #17 Fideloper\Proxy\TrustProxies:handle in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:151 #16 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #15 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:31 #14 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:151 #13 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #12 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:31 #11 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:151 #10 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #9 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27 #8 Illuminate\Foundation\Http\Middleware\ValidatePostSize:handle in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:151 #7 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #6 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:62 #5 Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode:handle in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:151 #4 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #3 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:104 #2 Illuminate\Pipeline\Pipeline:then in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:151 #1 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in /data/web/dahailaozhen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:116 #0 Illuminate\Foundation\Http\Kernel:handle in /data/web/dahailaozhen/public/index.php:55
Application frames (4) All frames (51)
50
ErrorException
/
app
/
Http
/
Controllers
/
Book
/
MainController.php
794
49
Illuminate
\
Foundation
\
Bootstrap
\
HandleExceptions
handleError
/
app
/
Http
/
Controllers
/
Book
/
MainController.php
794
48
App
\
Http
\
Controllers
\
Book
\
MainController
downloadTxt
/
app
/
Http
/
Controllers
/
Book
/
MainController.php
868
47
App
\
Http
\
Controllers
\
Book
\
MainController
download
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Controller.php
54
46
call_user_func_array
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Controller.php
54
45
Illuminate
\
Routing
\
Controller
callAction
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
ControllerDispatcher.php
45
44
Illuminate
\
Routing
\
ControllerDispatcher
dispatch
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Route.php
212
43
Illuminate
\
Routing
\
Route
runController
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Route.php
169
42
Illuminate
\
Routing
\
Route
run
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
679
41
Illuminate
\
Routing
\
Router
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
30
40
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Middleware
/
SubstituteBindings.php
41
39
Illuminate
\
Routing
\
Middleware
\
SubstituteBindings
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
151
38
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
37
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
Middleware
/
ShareErrorsFromSession.php
49
36
Illuminate
\
View
\
Middleware
\
ShareErrorsFromSession
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
151
35
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
34
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Middleware
/
StartSession.php
63
33
Illuminate
\
Session
\
Middleware
\
StartSession
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
151
32
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
31
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Cookie
/
Middleware
/
AddQueuedCookiesToResponse.php
37
30
Illuminate
\
Cookie
\
Middleware
\
AddQueuedCookiesToResponse
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
151
29
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
28
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Cookie
/
Middleware
/
EncryptCookies.php
66
27
Illuminate
\
Cookie
\
Middleware
\
EncryptCookies
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
151
26
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
25
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
104
24
Illuminate
\
Pipeline
\
Pipeline
then
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
681
23
Illuminate
\
Routing
\
Router
runRouteWithinStack
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
656
22
Illuminate
\
Routing
\
Router
runRoute
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
622
21
Illuminate
\
Routing
\
Router
dispatchToRoute
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
611
20
Illuminate
\
Routing
\
Router
dispatch
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
176
19
Illuminate
\
Foundation
\
Http
\
Kernel
Illuminate
\
Foundation
\
Http
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
30
18
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
fideloper
/
proxy
/
src
/
TrustProxies.php
57
17
Fideloper
\
Proxy
\
TrustProxies
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
151
16
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
15
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
TransformsRequest.php
31
14
Illuminate
\
Foundation
\
Http
\
Middleware
\
TransformsRequest
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
151
13
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
12
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
TransformsRequest.php
31
11
Illuminate
\
Foundation
\
Http
\
Middleware
\
TransformsRequest
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
151
10
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
9
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
ValidatePostSize.php
27
8
Illuminate
\
Foundation
\
Http
\
Middleware
\
ValidatePostSize
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
151
7
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
6
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
CheckForMaintenanceMode.php
62
5
Illuminate
\
Foundation
\
Http
\
Middleware
\
CheckForMaintenanceMode
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
151
4
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
3
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
104
2
Illuminate
\
Pipeline
\
Pipeline
then
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
151
1
Illuminate
\
Foundation
\
Http
\
Kernel
sendRequestThroughRouter
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
116
0
Illuminate
\
Foundation
\
Http
\
Kernel
handle
/
public
/
index.php
55
/
data
/
web
/
dahailaozhen
/
app
/
Http
/
Controllers
/
Book
/
MainController.php
        ob_clean();
        flush();
        
        foreach(array_values($ids) as $k=>$v){
            if(!$v || !($book = Book::find($v))) continue;
            $result = $es->get(['index'=>Config::get('elastic.book'),'type'=>'data','id'=>$v]);
            if(!isset($result['found']) || !$result['found']) continue;
            $info = current(BookHelper::parseInfo([$result]));
             
            $tmp = [];
            $tmp[] = ($k+1).'、'.$info['name'].'('.($info['type_id']==1012?'文章':'书籍').')'.' '.(isset($info['year'])?implode('-',array_filter([$info['year'],$info['month'],$info['day']])):'');
            if(isset($info['isbn']) && $info['isbn']) $tmp[] = ($info['type_id']==1012?'ISSN:':'ISBN:').$info['isbn'];
            
            $au = [];
            if($info['page']) $au[] = $info['page'];
            if($info['paper_size']) $au[] =$info['paper_size'];
            if($book->price) $au[] = $book->price;
            $ax = [];
            if(isset($info['edition']) && $info['edition']){
                foreach($info['edition'] as $av){
                    $ax[] = $av['name'];
                }
            }
            if($ax) $au[] = implode("、",$ax);
            if($au) $tmp[] = '页码:'.implode(" ",$au);
            
            $au = [];
            if(isset($info['area_name'])&&$info['area_name']) $au[] = $info['area_name'];
            if(isset($info['language_name'])&&$info['language_name']) $au[] = $info['language_name'];
            if($au) $tmp[] = '地区/语言:'.implode("/",$au);
            
            $au = [];
            if(isset($info['author']) && $info['author']){
                foreach($info['author'] as $av){
                    $au[] = $av['name'].($av['role_name']?$av['role_name']:'');
                }
            }
            if($au) $tmp[] = '作者:'.implode("、",$au);
        
//             $au = [];
Arguments
  1. "Invalid argument supplied for foreach()"
    
/
data
/
web
/
dahailaozhen
/
app
/
Http
/
Controllers
/
Book
/
MainController.php
        ob_clean();
        flush();
        
        foreach(array_values($ids) as $k=>$v){
            if(!$v || !($book = Book::find($v))) continue;
            $result = $es->get(['index'=>Config::get('elastic.book'),'type'=>'data','id'=>$v]);
            if(!isset($result['found']) || !$result['found']) continue;
            $info = current(BookHelper::parseInfo([$result]));
             
            $tmp = [];
            $tmp[] = ($k+1).'、'.$info['name'].'('.($info['type_id']==1012?'文章':'书籍').')'.' '.(isset($info['year'])?implode('-',array_filter([$info['year'],$info['month'],$info['day']])):'');
            if(isset($info['isbn']) && $info['isbn']) $tmp[] = ($info['type_id']==1012?'ISSN:':'ISBN:').$info['isbn'];
            
            $au = [];
            if($info['page']) $au[] = $info['page'];
            if($info['paper_size']) $au[] =$info['paper_size'];
            if($book->price) $au[] = $book->price;
            $ax = [];
            if(isset($info['edition']) && $info['edition']){
                foreach($info['edition'] as $av){
                    $ax[] = $av['name'];
                }
            }
            if($ax) $au[] = implode("、",$ax);
            if($au) $tmp[] = '页码:'.implode(" ",$au);
            
            $au = [];
            if(isset($info['area_name'])&&$info['area_name']) $au[] = $info['area_name'];
            if(isset($info['language_name'])&&$info['language_name']) $au[] = $info['language_name'];
            if($au) $tmp[] = '地区/语言:'.implode("/",$au);
            
            $au = [];
            if(isset($info['author']) && $info['author']){
                foreach($info['author'] as $av){
                    $au[] = $av['name'].($av['role_name']?$av['role_name']:'');
                }
            }
            if($au) $tmp[] = '作者:'.implode("、",$au);
        
//             $au = [];
Arguments
  1. 2
    
  2. "Invalid argument supplied for foreach()"
    
  3. "/data/web/dahailaozhen/app/Http/Controllers/Book/MainController.php"
    
  4. 794
    
  5. array:11 [
      "ids" => array:1 [
        0 => 931087
      ]
      "es" => Client {#632}
      "filename" => "ZHENBENKEJI_document_list20181214.txt"
      "v" => 931087
      "k" => 0
      "book" => Book {#653}
      "result" => array:6 [
        "_index" => "book_v1"
        "_type" => "data"
        "_id" => "931087"
        "_version" => 1
        "found" => true
        "_source" => array:41 [
          "id" => 931087
          "name" => "P.5043 薛廷珪撰颖川郡王韩逊生祠文"
          "name_simplify" => "P.5043 薛廷珪撰颖川郡王韩逊生祠文"
          "page" => ""
          "paper_size" => ""
          "type_id" => 1017
          "review_id" => 0
          "is_public" => 0
          "is_full" => 1
          "collection_id" => 5
          "area_id" => 1054
          "language_id" => 235
          "language_name" => "中文繁体"
          "status" => 1
          "valid_status" => 1
          "spider_id" => 11
          "spider_code" => "d314c153d3c37b932a4008684fd8b854"
          "add_time" => 1539270570
          "modify_time" => 1539270570
          "summary" => "现有藏本附注:法国国家图书馆"
          "isbn" => ""
          "year" => 0
          "month" => 0
          "day" => 0
          "end_year" => 0
          "end_month" => 0
          "end_day" => 0
          "date_name" => ""
          "edition" => "写本"
          "category" => []
          "region" => []
          "period" => []
          "author" => []
          "publisher" => []
          "journal" => []
          "series" => []
          "tag" => []
          "picture" => array:1 [
            0 => array:2 [
              "filename" => "/book/20181011/5bbf67b47f8e21539270580.jpg"
              "is_master" => 1
            ]
          ]
          "source" => array:1 [
            0 => array:4 [
              "name" => "中国国家图书馆"
              "id" => 896
              "is_show" => 1
              "source_link" => "http://mylib.nlc.cn:80/web/guest/search/shanbenjiaojuan/medaDataDisplay?metaData.id=6705603&metaData.lId=3943224&IdLib=402834c3409540be0141aa7d72035310"
            ]
          ]
          "area_name" => "法国"
          "collection_name" => "法国国家图书馆"
        ]
      ]
      "info" => array:45 [
        "id" => "04jmD6on8XDaKJRz"
        "name" => "P.5043 薛廷珪撰穎川郡王韓遜生祠文"
        "name_simplify" => "P.5043 薛廷珪撰穎川郡王韓遜生祠文"
        "page" => ""
        "paper_size" => ""
        "type_id" => 1017
        "review_id" => 0
        "is_public" => 0
        "is_full" => 1
        "collection_id" => "Prk6yKGM"
        "area_id" => "OlXOwjXq"
        "language_id" => "3wKgoVK8"
        "language_name" => "中文"
        "status" => 1
        "valid_status" => 1
        "spider_id" => 11
        "spider_code" => "d314c153d3c37b932a4008684fd8b854"
        "add_time" => 1539270570
        "modify_time" => 1539270570
        "summary" => "現有藏本附註:法國國家圖書館"
        "isbn" => ""
        "year" => 0
        "month" => 0
        "day" => 0
        "end_year" => 0
        "end_month" => 0
        "end_day" => 0
        "date_name" => ""
        "edition" => "寫本"
        "category" => []
        "region" => []
        "period" => []
        "author" => []
        "publisher" => []
        "journal" => []
        "series" => []
        "tag" => []
        "picture" => array:1 [
          0 => array:2 [
            "filename" => "/book/20181011/5bbf67b47f8e21539270580.jpg"
            "is_master" => 1
          ]
        ]
        "source" => array:1 [
          0 => array:4 [
            "name" => "中國國家圖書館"
            "id" => 896
            "is_show" => 1
            "source_link" => "http://mylib.nlc.cn:80/web/guest/search/shanbenjiaojuan/medaDataDisplay?metaData.id=6705603&metaData.lId=3943224&IdLib=402834c3409540be0141aa7d72035310"
          ]
        ]
        "area_name" => "法國"
        "collection_name" => "法國國家圖書館"
        "is_store" => 0
        "_id" => 931087
        "thumb" => "/storage/book/20181011/5bbf67b47f8e21539270580.jpg"
        "date" => ""
      ]
      "tmp" => array:1 [
        0 => "1、P.5043 薛廷珪撰穎川郡王韓遜生祠文(书籍) "
      ]
      "au" => []
      "ax" => []
    ]
    
/
data
/
web
/
dahailaozhen
/
app
/
Http
/
Controllers
/
Book
/
MainController.php
        
            if(isset($info['summary']) && $info['summary']) $tmp[] = '摘要:'.$info['summary'];
            
             echo implode("\r\n",$tmp)."\r\n".implode('',array_fill(0,50,'-'));
             
        }
        
    }
    
    public function download(Request $request,$type){
        $param = $request->all();
        if(!isset($param['id']) || !$param['id'] || !($param['id'] = Hashids::connection('book')->decode($param['id']))){
            return '下载失败,服务受限';
        }
        if(!Ipaddr::checkAddr()){
            //return '下载失败,您所在的地址服务受限!';
        }
        
        if($type!='excel'){
            $this->downloadTxt($param['id']);
            exit;
        }
        
        $es = ClientBuilder::create()
        ->setHosts(['10.204.16.116'])
        ->build();
        
        
        $list = [['类别','名称','issn/isbn','版本','页码','纸张','定价','时间','语言','国家地区','著者','出版单位','期刊','学科分类','丛书']];
        foreach($param['id'] as $v){
            if(!$v || !($book = Book::find($v))) continue;
            $result = $es->get(['index'=>Config::get('elastic.book'),'type'=>'data','id'=>$v]);
            if(!isset($result['found']) || !$result['found']) continue;
            $info = current(BookHelper::parseInfo([$result]));
             
            $tmp = [];
            $tmp[] = $info['type_id']==1012?'文章':'书籍';
            $tmp[] = $info['name'];
            $tmp[] = isset($info['isbn'])?$info['isbn']:'';
            
Arguments
  1. array:1 [
      0 => 931087
    ]
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Controller.php
    /**
     * Get the middleware assigned to the controller.
     *
     * @return array
     */
    public function getMiddleware()
    {
        return $this->middleware;
    }
 
    /**
     * Execute an action on the controller.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function callAction($method, $parameters)
    {
        return call_user_func_array([$this, $method], $parameters);
    }
 
    /**
     * Handle calls to missing methods on the controller.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return mixed
     *
     * @throws \BadMethodCallException
     */
    public function __call($method, $parameters)
    {
        throw new BadMethodCallException(sprintf(
            'Method %s::%s does not exist.', static::class, $method
        ));
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. "pdf"
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Controller.php
    /**
     * Get the middleware assigned to the controller.
     *
     * @return array
     */
    public function getMiddleware()
    {
        return $this->middleware;
    }
 
    /**
     * Execute an action on the controller.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function callAction($method, $parameters)
    {
        return call_user_func_array([$this, $method], $parameters);
    }
 
    /**
     * Handle calls to missing methods on the controller.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return mixed
     *
     * @throws \BadMethodCallException
     */
    public function __call($method, $parameters)
    {
        throw new BadMethodCallException(sprintf(
            'Method %s::%s does not exist.', static::class, $method
        ));
    }
}
 
Arguments
  1. array:2 [
      0 => MainController {#505}
      1 => "download"
    ]
    
  2. array:2 [
      0 => Request {#42
        #json: null
        #convertedFiles: []
        #userResolver: Closure {#506
          class: "Illuminate\Auth\AuthServiceProvider"
          this: AuthServiceProvider {#41 …}
          parameters: {
            $guard: {
              default: null
            }
          }
          use: {
            $app: Application {#2 …}
          }
        }
        #routeResolver: Closure {#508
          class: "Illuminate\Routing\Router"
          this: Router {#25 …}
          use: {
            $route: Route {#239 …}
          }
        }
        +attributes: ParameterBag {#44}
        +request: ParameterBag {#50}
        +query: ParameterBag {#50}
        +server: ServerBag {#46}
        +files: FileBag {#47}
        +cookies: ParameterBag {#45}
        +headers: HeaderBag {#48}
        #content: null
        #languages: null
        #charsets: null
        #encodings: null
        #acceptableContentTypes: array:4 [
          0 => "text/html"
          1 => "application/xhtml+xml"
          2 => "application/xml"
          3 => "*/*"
        ]
        #pathInfo: "/download/pdf"
        #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
        #baseUrl: ""
        #basePath: null
        #method: "GET"
        #format: null
        #session: Store {#597}
        #locale: null
        #defaultLocale: "en"
        -isHostValid: true
        -isForwardedValid: true
        basePath: ""
        format: "html"
      }
      "type" => "pdf"
    ]
    
/
data
/
web
/
dahailaozhen
/
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. "download"
    
  2. array:2 [
      0 => Request {#42
        #json: null
        #convertedFiles: []
        #userResolver: Closure {#506
          class: "Illuminate\Auth\AuthServiceProvider"
          this: AuthServiceProvider {#41 …}
          parameters: {
            $guard: {
              default: null
            }
          }
          use: {
            $app: Application {#2 …}
          }
        }
        #routeResolver: Closure {#508
          class: "Illuminate\Routing\Router"
          this: Router {#25 …}
          use: {
            $route: Route {#239 …}
          }
        }
        +attributes: ParameterBag {#44}
        +request: ParameterBag {#50}
        +query: ParameterBag {#50}
        +server: ServerBag {#46}
        +files: FileBag {#47}
        +cookies: ParameterBag {#45}
        +headers: HeaderBag {#48}
        #content: null
        #languages: null
        #charsets: null
        #encodings: null
        #acceptableContentTypes: array:4 [
          0 => "text/html"
          1 => "application/xhtml+xml"
          2 => "application/xml"
          3 => "*/*"
        ]
        #pathInfo: "/download/pdf"
        #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
        #baseUrl: ""
        #basePath: null
        #method: "GET"
        #format: null
        #session: Store {#597}
        #locale: null
        #defaultLocale: "en"
        -isHostValid: true
        -isForwardedValid: true
        basePath: ""
        format: "html"
      }
      "type" => "pdf"
    ]
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Route.php
    protected function runCallable()
    {
        $callable = $this->action['uses'];
 
        return $callable(...array_values($this->resolveMethodDependencies(
            $this->parametersWithoutNulls(), new ReflectionFunction($this->action['uses'])
        )));
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     *
     * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
     */
    protected function runController()
    {
        return $this->controllerDispatcher()->dispatch(
            $this, $this->getController(), $this->getControllerMethod()
        );
    }
 
    /**
     * Get the controller instance for the route.
     *
     * @return mixed
     */
    public function getController()
    {
        if (! $this->controller) {
            $class = $this->parseControllerCallback()[0];
 
            $this->controller = $this->container->make(ltrim($class, '\\'));
        }
 
        return $this->controller;
    }
 
    /**
Arguments
  1. Route {#239}
    
  2. MainController {#505}
    
  3. "download"
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Route.php
     *
     * @throws \UnexpectedValueException
     */
    protected function parseAction($action)
    {
        return RouteAction::parse($this->uri, $action);
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     */
    public function run()
    {
        $this->container = $this->container ?: new Container;
 
        try {
            if ($this->isControllerAction()) {
                return $this->runController();
            }
 
            return $this->runCallable();
        } catch (HttpResponseException $e) {
            return $e->getResponse();
        }
    }
 
    /**
     * Checks whether the route's action is a controller.
     *
     * @return bool
     */
    protected function isControllerAction()
    {
        return is_string($this->action['uses']);
    }
 
    /**
     * Run the route action and return the response.
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
                        ->then(function ($request) use ($route) {
                            return $this->prepareResponse(
                                $request, $route->run()
                            );
                        });
    }
 
    /**
     * Gather the middleware for the given route with resolved class names.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return array
     */
    public function gatherRouteMiddleware(Route $route)
    {
        $middleware = collect($route->gatherMiddleware())->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten();
 
        return $this->sortMiddleware($middleware);
    }
 
    /**
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
use Symfony\Component\Debug\Exception\FatalThrowableError;
 
/**
 * This extended pipeline catches any exceptions that occur during each slice.
 *
 * The exceptions are converted to HTTP responses for proper middleware handling.
 */
class Pipeline extends BasePipeline
{
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            try {
                return $destination($passable);
            } catch (Exception $e) {
                return $this->handleException($passable, $e);
            } catch (Throwable $e) {
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Middleware
/
SubstituteBindings.php
     */
    public function __construct(Registrar $router)
    {
        $this->router = $router;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->router->substituteBindings($route = $request->route());
 
        $this->router->substituteImplicitBindings($route);
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
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];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->container->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#516
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#510 …}
      parameters: {
        $passable: {}
      }
      use: {
        $destination: Closure {#515 …}
      }
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
Middleware
/
ShareErrorsFromSession.php
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        // If the current session has an "errors" variable bound to it, we will share
        // its value with all view instances so the views can easily access errors
        // without having to bind. An empty bag is set when there aren't errors.
        $this->view->share(
            'errors', $request->session()->get('errors') ?: new ViewErrorBag
        );
 
        // Putting the errors in the view for every view allows the developer to just
        // assume that some errors are always available, which is convenient since
        // they don't have to continually run checks for the presence of errors.
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
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];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->container->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#582
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#510 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#516 …}
        $pipe: "Illuminate\Routing\Middleware\SubstituteBindings"
      }
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Middleware
/
StartSession.php
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->sessionHandled = true;
 
        // If a session driver has been configured, we will need to start the session here
        // so that the data is ready for an application. Note that the Laravel sessions
        // do not make use of PHP "native" sessions in any way since they are crappy.
        if ($this->sessionConfigured()) {
            $request->setLaravelSession(
                $session = $this->startSession($request)
            );
 
            $this->collectGarbage($session);
        }
 
        $response = $next($request);
 
        // Again, if the session has been configured we will need to close out the session
        // so that the attributes may be persisted to some storage medium. We will also
        // add the session identifier cookie to the application response headers now.
        if ($this->sessionConfigured()) {
            $this->storeCurrentUrl($request, $session);
 
            $this->addCookieToResponse($response, $session);
        }
 
        return $response;
    }
 
    /**
     * Perform any final actions for the request lifecycle.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Symfony\Component\HttpFoundation\Response  $response
     * @return void
     */
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
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];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->container->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#583
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#510 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#582 …}
        $pipe: "Illuminate\View\Middleware\ShareErrorsFromSession"
      }
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Cookie
/
Middleware
/
AddQueuedCookiesToResponse.php
     * Create a new CookieQueue instance.
     *
     * @param  \Illuminate\Contracts\Cookie\QueueingFactory  $cookies
     * @return void
     */
    public function __construct(CookieJar $cookies)
    {
        $this->cookies = $cookies;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $response = $next($request);
 
        foreach ($this->cookies->getQueuedCookies() as $cookie) {
            $response->headers->setCookie($cookie);
        }
 
        return $response;
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
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];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->container->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#584
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#510 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#583 …}
        $pipe: "Illuminate\Session\Middleware\StartSession"
      }
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
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)) {
                continue;
            }
 
            try {
                $request->cookies->set($key, $this->decryptCookie($key, $cookie));
            } catch (DecryptException $e) {
                $request->cookies->set($key, null);
            }
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
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];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->container->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#585
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#510 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#584 …}
        $pipe: "Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse"
      }
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
    public function via($method)
    {
        $this->method = $method;
 
        return $this;
    }
 
    /**
     * Run the pipeline with a final destination callback.
     *
     * @param  \Closure  $destination
     * @return mixed
     */
    public function then(Closure $destination)
    {
        $pipeline = array_reduce(
            array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
        );
 
        return $pipeline($this->passable);
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            return $destination($passable);
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
                        ->then(function ($request) use ($route) {
                            return $this->prepareResponse(
                                $request, $route->run()
                            );
                        });
    }
 
    /**
     * Gather the middleware for the given route with resolved class names.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return array
     */
    public function gatherRouteMiddleware(Route $route)
    {
        $middleware = collect($route->gatherMiddleware())->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten();
 
        return $this->sortMiddleware($middleware);
    }
 
    /**
     * Sort the given middleware by priority.
     *
Arguments
  1. Closure {#515
      class: "Illuminate\Routing\Router"
      this: Router {#25 …}
      parameters: {
        $request: {}
      }
      use: {
        $route: Route {#239 …}
      }
    }
    
/
data
/
web
/
dahailaozhen
/
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 mixed
     */
    protected function runRoute(Request $request, Route $route)
    {
        $request->setRouteResolver(function () use ($route) {
            return $route;
        });
 
        $this->events->dispatch(new Events\RouteMatched($route, $request));
 
        return $this->prepareResponse($request,
            $this->runRouteWithinStack($route, $request)
        );
    }
 
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
Arguments
  1. Route {#239}
    
  2. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
    {
        $this->current = $route = $this->routes->match($request);
 
        $this->container->instance(Route::class, $route);
 
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Route {#239}
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
     * @return mixed
     */
    public function respondWithRoute($name)
    {
        $route = tap($this->routes->getByName($name))->bind($this->currentRequest);
 
        return $this->runRoute($this->currentRequest, $route);
    }
 
    /**
     * Dispatch the request to the application.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
     * @return void
     */
    public function bootstrap()
    {
        if (! $this->app->hasBeenBootstrapped()) {
            $this->app->bootstrapWith($this->bootstrappers());
        }
    }
 
    /**
     * Get the route dispatcher callback.
     *
     * @return \Closure
     */
    protected function dispatchToRouter()
    {
        return function ($request) {
            $this->app->instance('request', $request);
 
            return $this->router->dispatch($request);
        };
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        $this->terminateMiddleware($request, $response);
 
        $this->app->terminate();
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
use Symfony\Component\Debug\Exception\FatalThrowableError;
 
/**
 * This extended pipeline catches any exceptions that occur during each slice.
 *
 * The exceptions are converted to HTTP responses for proper middleware handling.
 */
class Pipeline extends BasePipeline
{
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            try {
                return $destination($passable);
            } catch (Exception $e) {
                return $this->handleException($passable, $e);
            } catch (Throwable $e) {
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
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');
 
        // Only trust specific IP addresses
        if (is_array($trustedIps)) {
            return $this->setTrustedProxyIpAddressesToSpecificIps($request, $trustedIps);
        }
 
        // Trust any IP address that calls us
        // `**` for backwards compatibility, but is depreciated
        if ($trustedIps === '*' || $trustedIps === '**') {
            return $this->setTrustedProxyIpAddressesToTheCallingIp($request);
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
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];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->container->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#163
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#30 …}
      parameters: {
        $passable: {}
      }
      use: {
        $destination: Closure {#22 …}
      }
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
TransformsRequest.php
     *
     * @var array
     */
    protected $attributes = [];
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  array  ...$attributes
     * @return mixed
     */
    public function handle($request, Closure $next, ...$attributes)
    {
        $this->attributes = $attributes;
 
        $this->clean($request);
 
        return $next($request);
    }
 
    /**
     * Clean the request's data.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return void
     */
    protected function clean($request)
    {
        $this->cleanParameterBag($request->query);
 
        if ($request->isJson()) {
            $this->cleanParameterBag($request->json());
        } else {
            $this->cleanParameterBag($request->request);
        }
    }
 
    /**
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
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];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->container->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#261
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#30 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#163 …}
        $pipe: "App\Http\Middleware\TrustProxies"
      }
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
TransformsRequest.php
     *
     * @var array
     */
    protected $attributes = [];
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  array  ...$attributes
     * @return mixed
     */
    public function handle($request, Closure $next, ...$attributes)
    {
        $this->attributes = $attributes;
 
        $this->clean($request);
 
        return $next($request);
    }
 
    /**
     * Clean the request's data.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return void
     */
    protected function clean($request)
    {
        $this->cleanParameterBag($request->query);
 
        if ($request->isJson()) {
            $this->cleanParameterBag($request->json());
        } else {
            $this->cleanParameterBag($request->request);
        }
    }
 
    /**
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
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];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->container->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#487
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#30 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#261 …}
        $pipe: "Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull"
      }
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
ValidatePostSize.php
class ValidatePostSize
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     *
     * @throws \Illuminate\Http\Exceptions\PostTooLargeException
     */
    public function handle($request, Closure $next)
    {
        $max = $this->getPostMaxSize();
 
        if ($max > 0 && $request->server('CONTENT_LENGTH') > $max) {
            throw new PostTooLargeException;
        }
 
        return $next($request);
    }
 
    /**
     * Determine the server 'post_max_size' as bytes.
     *
     * @return int
     */
    protected function getPostMaxSize()
    {
        if (is_numeric($postMaxSize = ini_get('post_max_size'))) {
            return (int) $postMaxSize;
        }
 
        $metric = strtoupper(substr($postMaxSize, -1));
        $postMaxSize = (int) $postMaxSize;
 
        switch ($metric) {
            case 'K':
                return $postMaxSize * 1024;
            case 'M':
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
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];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->container->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#488
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#30 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#487 …}
        $pipe: "App\Http\Middleware\TrimStrings"
      }
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
CheckForMaintenanceMode.php
     *
     * @throws \Symfony\Component\HttpKernel\Exception\HttpException
     */
    public function handle($request, Closure $next)
    {
        if ($this->app->isDownForMaintenance()) {
            $data = json_decode(file_get_contents($this->app->storagePath().'/framework/down'), true);
 
            if (isset($data['allowed']) && IpUtils::checkIp($request->ip(), (array) $data['allowed'])) {
                return $next($request);
            }
 
            if ($this->inExceptArray($request)) {
                return $next($request);
            }
 
            throw new MaintenanceModeException($data['time'], $data['retry'], $data['message']);
        }
 
        return $next($request);
    }
 
    /**
     * Determine if the request has a URI that should be accessible in maintenance mode.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return bool
     */
    protected function inExceptArray($request)
    {
        foreach ($this->except as $except) {
            if ($except !== '/') {
                $except = trim($except, '/');
            }
 
            if ($request->fullUrlIs($except) || $request->is($except)) {
                return true;
            }
        }
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
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];
                }
 
                $response = method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
 
                return $response instanceof Responsable
                            ? $response->toResponse($this->container->make(Request::class))
                            : $response;
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#489
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#30 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#488 …}
        $pipe: "Illuminate\Foundation\Http\Middleware\ValidatePostSize"
      }
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
    public function via($method)
    {
        $this->method = $method;
 
        return $this;
    }
 
    /**
     * Run the pipeline with a final destination callback.
     *
     * @param  \Closure  $destination
     * @return mixed
     */
    public function then(Closure $destination)
    {
        $pipeline = array_reduce(
            array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
        );
 
        return $pipeline($this->passable);
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            return $destination($passable);
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
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 {#22
      class: "Illuminate\Foundation\Http\Kernel"
      this: Kernel {#29 …}
      parameters: {
        $request: {}
      }
    }
    
/
data
/
web
/
dahailaozhen
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
            $router->middlewareGroup($key, $middleware);
        }
 
        foreach ($this->routeMiddleware as $key => $middleware) {
            $router->aliasMiddleware($key, $middleware);
        }
    }
 
    /**
     * Handle an incoming HTTP request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function handle($request)
    {
        try {
            $request->enableHttpMethodParameterOverride();
 
            $response = $this->sendRequestThroughRouter($request);
        } catch (Exception $e) {
            $this->reportException($e);
 
            $response = $this->renderException($request, $e);
        } catch (Throwable $e) {
            $this->reportException($e = new FatalThrowableError($e));
 
            $response = $this->renderException($request, $e);
        }
 
        $this->app['events']->dispatch(
            new Events\RequestHandled($request, $response)
        );
 
        return $response;
    }
 
    /**
     * Send the given request through the middleware / router.
     *
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
data
/
web
/
dahailaozhen
/
public
/
index.php
*/
 
$app = require_once __DIR__.'/../bootstrap/app.php';
 
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
 
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
 
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
 
$response->send();
 
$kernel->terminate($request, $response);
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#506
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#508
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#239 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/download/pdf"
      #requestUri: "/download/pdf?id=04jmD6on8XDaKJRz"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#597}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    

Environment & details:

Key Value
id
"04jmD6on8XDaKJRz"
empty
empty
empty
empty
Key Value
REDIRECT_STATUS
"200"
HTTP_USER_AGENT
"CCBot/2.0 (https://commoncrawl.org/faq/)"
HTTP_ACCEPT
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_IF_MODIFIED_SINCE
"Sun, 21 Oct 2018 10:32:33 UTC"
HTTP_HOST
"www.dahailaozhen.cn"
HTTP_CONNECTION
"Keep-Alive"
HTTP_ACCEPT_ENCODING
"gzip"
PATH
"/usr/local/php7/bin:/usr/local/cmake/bin:/home/java/.composer/vendor/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
LD_LIBRARY_PATH
"/usr/local/apache/lib"
SERVER_SIGNATURE
""
SERVER_SOFTWARE
"Apache"
SERVER_NAME
"www.dahailaozhen.cn"
SERVER_ADDR
"47.88.86.161"
SERVER_PORT
"80"
REMOTE_ADDR
"54.234.228.78"
DOCUMENT_ROOT
"/data/web/dahailaozhen/public"
REQUEST_SCHEME
"http"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/data/web/dahailaozhen/public"
SERVER_ADMIN
"www@dahailaozhen.cn"
SCRIPT_FILENAME
"/data/web/dahailaozhen/public/index.php"
REMOTE_PORT
"49954"
REDIRECT_URL
"/download/pdf"
REDIRECT_QUERY_STRING
"id=04jmD6on8XDaKJRz"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
"id=04jmD6on8XDaKJRz"
REQUEST_URI
"/download/pdf?id=04jmD6on8XDaKJRz"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1544758220.094
REQUEST_TIME
1544758220
APP_NAME
"Laravel"
APP_ENV
"local"
APP_KEY
"base64:eTKVacjiVe6yeFQXb5Y6B64KLKmqkCRUwRtT0l5almk="
APP_DEBUG
"true"
APP_URL
"http://localhost"
LOG_CHANNEL
"stack"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"db_dahailaozhen"
DB_DATABASE_BOOK
"db_book"
DB_DATABASE_ERM
"db_erm"
DB_DATABASE_HXJ
"db_hxj"
DB_DATABASE_CBDB
"db_cbdb"
DB_USERNAME
"root"
DB_PASSWORD
"dHlz@014"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
QUEUE_CONNECTION
"sync"
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.mailtrap.io"
MAIL_PORT
"2525"
MAIL_USERNAME
"null"
MAIL_PASSWORD
"null"
MAIL_ENCRYPTION
"null"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"mt1"
MIX_PUSHER_APP_KEY
""
MIX_PUSHER_APP_CLUSTER
"mt1"
Key Value
APP_NAME
"Laravel"
APP_ENV
"local"
APP_KEY
"base64:eTKVacjiVe6yeFQXb5Y6B64KLKmqkCRUwRtT0l5almk="
APP_DEBUG
"true"
APP_URL
"http://localhost"
LOG_CHANNEL
"stack"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"db_dahailaozhen"
DB_DATABASE_BOOK
"db_book"
DB_DATABASE_ERM
"db_erm"
DB_DATABASE_HXJ
"db_hxj"
DB_DATABASE_CBDB
"db_cbdb"
DB_USERNAME
"root"
DB_PASSWORD
"dHlz@014"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
QUEUE_CONNECTION
"sync"
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.mailtrap.io"
MAIL_PORT
"2525"
MAIL_USERNAME
"null"
MAIL_PASSWORD
"null"
MAIL_ENCRYPTION
"null"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"mt1"
MIX_PUSHER_APP_KEY
""
MIX_PUSHER_APP_CLUSTER
"mt1"
0. Whoops\Handler\PrettyPageHandler