/www/wwwroot/jiguang/app/Libraries/Match.php
}
/**
* 根据日期返回赛程
* @param $date
* @param string $cid
* @param string $type
* @return array
*/
public static function getMatchListHL($date, $cid = '', $type = '')
{
$service = 'App.Site.Get_match_list';
$url = self::$url . '?service=' . $service . '&username=' . self::$username . '&secret=' .
self::$secret . '&id=' . $cid . '&type=' . $type . '&date=' . $date;
// $url = 'http://47.57.69.79/getMatchList?date='.$date.'&cid='.$cid.'&type='.$type;
$url = 'https://www.qiulo.com/api/match/index?return_type=seo-zhanqun&type='.$type.'&cid='.$cid.'&day='.$date;
$returnData = Tool::curl($url);
$returnData = json_decode($returnData, 1);
if ($returnData['ret'] != 200 || empty($returnData['data'])) {
return [];
}
return $returnData['data'];
}
/**
* 返回输入日期星期几
* @param $date
* @return mixed
*/
public static function getWeek($date)
{
$date_str = date('Y-m-d', strtotime($date));
$arr = explode("-", $date_str);
$year = $arr[0];
$month = sprintf('%02d', $arr[1]);
$day = sprintf('%02d', $arr[2]);
$hour = $minute = $second = 0;
Arguments
/www/wwwroot/jiguang/app/Libraries/Match.php
}
/**
* 根据日期返回赛程
* @param $date
* @param string $cid
* @param string $type
* @return array
*/
public static function getMatchListHL($date, $cid = '', $type = '')
{
$service = 'App.Site.Get_match_list';
$url = self::$url . '?service=' . $service . '&username=' . self::$username . '&secret=' .
self::$secret . '&id=' . $cid . '&type=' . $type . '&date=' . $date;
// $url = 'http://47.57.69.79/getMatchList?date='.$date.'&cid='.$cid.'&type='.$type;
$url = 'https://www.qiulo.com/api/match/index?return_type=seo-zhanqun&type='.$type.'&cid='.$cid.'&day='.$date;
$returnData = Tool::curl($url);
$returnData = json_decode($returnData, 1);
if ($returnData['ret'] != 200 || empty($returnData['data'])) {
return [];
}
return $returnData['data'];
}
/**
* 返回输入日期星期几
* @param $date
* @return mixed
*/
public static function getWeek($date)
{
$date_str = date('Y-m-d', strtotime($date));
$arr = explode("-", $date_str);
$year = $arr[0];
$month = sprintf('%02d', $arr[1]);
$day = sprintf('%02d', $arr[2]);
$hour = $minute = $second = 0;
Arguments
8
"Undefined index: ret"
"/www/wwwroot/jiguang/app/Libraries/Match.php"
57
array:6 [
"date" => "20240329"
"cid" => 120
"type" => 0
"service" => "App.Site.Get_match_list"
"url" => "https://www.qiulo.com/api/match/index?return_type=seo-zhanqun&type=0&cid=120&day=20240329"
"returnData" => []
]
/www/wwwroot/jiguang/app/Http/Controllers/Web/BaikeController.php
public function aboutMatch($eventId, $type, $cid)
{
$matchArr = [];
$key = 'about_match_' . $this->mode . '_' . $type . '_' . $eventId;
if (Cache::has($key)) {
$matchArr = unserialize(Cache::get($key));
} else {
// 相关赛事
$matchDate = Match::getMatchData($eventId, $type);
$lastDate = end($matchDate);
if (strtotime($lastDate['date']) < strtotime(date('Ymd'))) {
$matchDate = array_reverse($matchDate);
}
$i = 0;
foreach ($matchDate as $date) {
if (count($matchArr) >= 5) {
break;
}
$matchHL = Match::getMatchListHL($date['date'], $eventId, $type);
foreach ($matchHL[date('Y-m-d', strtotime($date['date']))] as $hl) {
if (count($matchArr) >= 5) {
break;
}
if ($this->mode == 'url_mode_1') {
$matchArr[$i]['cateUrl'] = $this->host . "/index.php/live/{$cid}{$this->suffix}";
} else {
$matchArr[$i]['cateUrl'] = route("/lives", ['sid' => $cid]);
}
$matchArr[$i]['name'] = $hl['league_name'];
$matchArr[$i]['home'] = $hl['home_team_name'];
$matchArr[$i]['home_logo'] = $hl['home_team_logo'];
$matchArr[$i]['visit'] = $hl['away_team_name'];
$matchArr[$i]['visit_logo'] = $hl['away_team_logo'];
$matchArr[$i]['time'] = $hl['begin_time'];
if ($this->mode == 'url_mode_1') {
$matchArr[$i]['play_url'] = $this->host . "/index.php/live/{$hl['cid']}{$this->spacer}{$hl['event_id']}{$this->spacer}0{$this->suffix}";
} else {
$matchArr[$i]['play_url'] = route("/live/detail", ['mid' => $hl['cid'], 'cid' => $hl['event_id'], 'vid' => 0]);
Arguments
/www/wwwroot/jiguang/app/Http/Controllers/Web/BaikeController.php
} elseif ($key == $len) {
$lastNews = $news[$key - 1] ?? [];
$nextNews = [];
} else {
$lastNews = $news[$key - 1] ?? [];
$nextNews = $news[$key + 1] ?? [];
}
// 右侧相关资讯
$thirdNews = $this->baikeRepository->relations($cid);
// 左侧相关资讯
$leftNews = $this->newsRepository->relationNews($cid);
// 新闻最新资讯
$newest = $this->newsRepository->latestNews(9);
// 热门赛事
$hotMatch = $this->matchRepository->getHotMatch();
// 相关标签
$aboutTags = $this->commonRepository->tags(1);
// 相关赛事
$aboutMatch = $this->aboutMatch($cate->event_id, $cate->type, $cid);
// 增加阅读量
ContBaike::query()->where('id', $id)->increment('frequency');
// seo router
$seoroute = route('baike.detail', ['id' => $id]);
$id = 8;
return view($this->str . 'baike/detail', compact(
'identify', 'newsDetail', 'lastNews',
'nextNews', 'thirdNews', 'id', 'nav', 'sid', 'tdk',
'cateName', 'newest', 'hotMatch', 'cid', 'leftNews', 'aboutTags', 'aboutMatch', 'seoroute'
));
}
public function aboutMatch($eventId, $type, $cid)
{
$matchArr = [];
$key = 'about_match_' . $this->mode . '_' . $type . '_' . $eventId;
if (Cache::has($key)) {
$matchArr = unserialize(Cache::get($key));
} else {
Arguments
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Routing/Controller.php
/**
* Get the middleware assigned to the controller.
*
* @return array
*/
public function getMiddleware()
{
return $this->middleware;
}
/**
* Execute an action on the controller.
*
* @param string $method
* @param array $parameters
* @return \Symfony\Component\HttpFoundation\Response
*/
public function callAction($method, $parameters)
{
return call_user_func_array([$this, $method], $parameters);
}
/**
* Handle calls to missing methods on the controller.
*
* @param string $method
* @param array $parameters
* @return mixed
*
* @throws \BadMethodCallException
*/
public function __call($method, $parameters)
{
throw new BadMethodCallException("Method [{$method}] does not exist on [".get_class($this).'].');
}
}
Arguments
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Routing/Controller.php
/**
* Get the middleware assigned to the controller.
*
* @return array
*/
public function getMiddleware()
{
return $this->middleware;
}
/**
* Execute an action on the controller.
*
* @param string $method
* @param array $parameters
* @return \Symfony\Component\HttpFoundation\Response
*/
public function callAction($method, $parameters)
{
return call_user_func_array([$this, $method], $parameters);
}
/**
* Handle calls to missing methods on the controller.
*
* @param string $method
* @param array $parameters
* @return mixed
*
* @throws \BadMethodCallException
*/
public function __call($method, $parameters)
{
throw new BadMethodCallException("Method [{$method}] does not exist on [".get_class($this).'].');
}
}
Arguments
array:2 [
0 => BaikeController {#415}
1 => "detail"
]
array:1 [
"id" => "774"
]
/www/wwwroot/jiguang/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
"detail"
array:1 [
"id" => "774"
]
/www/wwwroot/jiguang/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
Route {#386}
BaikeController {#415}
"detail"
/www/wwwroot/jiguang/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.
/www/wwwroot/jiguang/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);
}
/**
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/app/Http/Middleware/IsMobile.php
break;
case '/baike':
$redirect_name = 'baike.index';
break;
case '/baike/list':
$redirect_name = 'baike.index';
break;
case '/baike/page':
$redirect_name = 'baike.index';
break;
case '/baike/detail':
$redirect_name = 'baike.detail';
break;
}
return redirect()->route($redirect_name, $parameters);
}
return $next($request);
}
}
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#548
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#405 …}
parameters: {
$passable: {}
}
use: {
$destination: Closure {#410 …}
}
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param int|string $maxAttempts
* @param float|int $decayMinutes
* @return mixed
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
*/
public function handle($request, Closure $next, $maxAttempts = 60, $decayMinutes = 1)
{
$key = $this->resolveRequestSignature($request);
$maxAttempts = $this->resolveMaxAttempts($request, $maxAttempts);
if ($this->limiter->tooManyAttempts($key, $maxAttempts, $decayMinutes)) {
throw $this->buildException($key, $maxAttempts);
}
$this->limiter->hit($key, $decayMinutes);
$response = $next($request);
return $this->addHeaders(
$response, $maxAttempts,
$this->calculateRemainingAttempts($key, $maxAttempts)
);
}
/**
* Resolve the number of attempts if the user is authenticated or not.
*
* @param \Illuminate\Http\Request $request
* @param int|string $maxAttempts
* @return int
*/
protected function resolveMaxAttempts($request, $maxAttempts)
{
if (Str::contains($maxAttempts, '|')) {
$maxAttempts = explode('|', $maxAttempts, 2)[$request->user() ? 1 : 0];
}
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#550
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#405 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#548 …}
$pipe: "App\Http\Middleware\IsMobile"
}
}
60
"1"
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/app/Http/Middleware/CheckInstall.php
use App\Models\SysMenu;
use Closure;
use App\Libraries\Tool;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Storage;
class CheckInstall
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (file_exists(storage_path('installed'))) {
return $next($request);
} else {
return redirect('/install');
}
}
}
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#551
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#405 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#550 …}
$pipe: "Illuminate\Routing\Middleware\ThrottleRequests:60,1"
}
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#552
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#405 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#551 …}
$pipe: "App\Http\Middleware\CheckInstall"
}
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Illuminate\Session\TokenMismatchException
*/
public function handle($request, Closure $next)
{
if (
$this->isReading($request) ||
$this->runningUnitTests() ||
$this->inExceptArray($request) ||
$this->tokensMatch($request)
) {
return $this->addCookieToResponse($request, $next($request));
}
throw new TokenMismatchException;
}
/**
* Determine if the HTTP request uses a ‘read’ verb.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function isReading($request)
{
return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
}
/**
* Determine if the application is running unit tests.
*
* @return bool
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#553
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#405 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#552 …}
$pipe: "Illuminate\Routing\Middleware\SubstituteBindings"
}
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#554
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#405 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#553 …}
$pipe: "App\Http\Middleware\VerifyCsrfToken"
}
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#555
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#405 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#554 …}
$pipe: "Illuminate\View\Middleware\ShareErrorsFromSession"
}
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#556
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#405 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#555 …}
$pipe: "Illuminate\Session\Middleware\StartSession"
}
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php
* Disable encryption for the given cookie name(s).
*
* @param string|array $cookieName
* @return void
*/
public function disableFor($cookieName)
{
$this->except = array_merge($this->except, (array) $cookieName);
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
return $this->encrypt($next($this->decrypt($request)));
}
/**
* Decrypt the cookies on the request.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @return \Symfony\Component\HttpFoundation\Request
*/
protected function decrypt(Request $request)
{
foreach ($request->cookies as $key => $cookie) {
if ($this->isDisabled($key)) {
continue;
}
try {
$decryptedValue = $this->decryptCookie($key, $cookie);
$value = CookieValuePrefix::getVerifiedValue($key, $decryptedValue, $this->encrypter->getKey());
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#557
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#405 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#556 …}
$pipe: "Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse"
}
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/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
Closure {#410
class: "Illuminate\Routing\Router"
this: Router {#25 …}
parameters: {
$request: {}
}
use: {
$route: Route {#386 …}
}
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Routing/Router.php
return $route;
}
/**
* Return the response for the given route.
*
* @param Route $route
* @param Request $request
* @return mixed
*/
protected function runRoute(Request $request, Route $route)
{
$request->setRouteResolver(function () use ($route) {
return $route;
});
$this->events->dispatch(new Events\RouteMatched($route, $request));
return $this->prepareResponse($request,
$this->runRouteWithinStack($route, $request)
);
}
/**
* Run the given route within a Stack "onion" instance.
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
Arguments
Route {#386}
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Route {#386}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/fideloper/proxy/src/TrustProxies.php
{
$this->config = $config;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
*
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->setTrustedProxyHeaderNames($request);
$this->setTrustedProxyIpAddresses($request);
return $next($request);
}
/**
* Sets the trusted proxies on the request to the value of trustedproxy.proxies
*
* @param \Illuminate\Http\Request $request
*/
protected function setTrustedProxyIpAddresses($request)
{
$trustedIps = $this->proxies ?: $this->config->get('trustedproxy.proxies');
// We only trust specific IP addresses
if (is_array($trustedIps)) {
return $this->setTrustedProxyIpAddressesToSpecificIps($request, $trustedIps);
}
// We trust any IP address that calls us, but not proxies further
// up the forwarding chain.
// TODO: Determine if this should only trust the first IP address
// Currently it trusts the entire chain (array of IPs),
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#357
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#30 …}
parameters: {
$passable: {}
}
use: {
$destination: Closure {#22 …}
}
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#358
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#30 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#357 …}
$pipe: "App\Http\Middleware\TrustProxies"
}
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @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);
throw new MaintenanceModeException($data['time'], $data['retry'], $data['message']);
}
return $next($request);
}
}
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#395
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#30 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#358 …}
$pipe: "Illuminate\Foundation\Http\Middleware\ValidatePostSize"
}
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/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
Closure {#22
class: "Illuminate\Foundation\Http\Kernel"
this: Kernel {#29 …}
parameters: {
$request: {}
}
}
/www/wwwroot/jiguang/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
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www/wwwroot/jiguang/index.php
<?php
define('LARAVEL_START', microtime(true));
require __DIR__ . '/vendor/autoload.php';
$app= require_once __DIR__ . '/bootstrap/app.php';
$kernel= $app->make(Illuminate\Contracts\Http\Kernel::class);
$response= $kernel->handle($request= Illuminate\Http\Request::capture());
$response->send();
$kernel->terminate($request, $response);
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#406
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#408
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#386 …}
}
}
+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:1 [
0 => "*/*"
]
#pathInfo: "/baike/detail/774.html"
#requestUri: "/baike/detail/774.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#569}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}