/www
/www.a00jd.cn
/app
/Http
/Domain
/TeamDomain.php
return $teamUpdateAt;
}
//积分榜
public static function ranking($league)
{
$key = 'team_domain_ranking1_'.$league['id'].'_'.config('app.part_cache_time').'_'.config('app.version');
if(!cacheDataHas($key) || !config('app.cache_page'))
{
$datas = [];
$totalScore = 0;
$list = Leagueteam::with('team')->where('league_id',$league['id'])->get();
foreach ($list as &$item)
{
$keyTeam = 'team_domain_ranking_team_'.'_'.config('app.part_cache_time').$item['id'].'_'.md5(self::matchUpdatedAt($item['id']));
$item = $item['team'];
$whereBefore = 'league_id=' . $league['id'] . ' AND start_time between "' . $league['start_month'] . '" AND "' . $league['end_month'] . '"
AND status=1';
$sql = 'SELECT updated_at FROM matchs WHERE ' . $whereBefore . ' AND (home_team_id=' . $item['id'] . ' OR guest_team_id=' . $item['id'] . ') ORDER BY updated_at DESC LIMIT 1';
$info = DB::select($sql);
$keyTeam = md5($keyTeam.date('Y-m-d H',strtotime($info[0]->updated_at)));
if(!cacheDataHas($keyTeam) || !config('app.cache_page'))
{
//总场次
$sql = 'SELECT COUNT(*) AS num FROM matchs WHERE ' . $whereBefore . ' AND (home_team_id=' . $item['id'] . ' OR guest_team_id=' . $item['id'] . ')';
//print_r($sql);die();
//$total = DB::select($sql);
//if((in_array($league['id'],League::$hotIds) && $total[0]->num>0) || !in_array($league['id'],League::$hotIds))
{
//平场数
$sql = $sql . ' AND vs=2';
$total = DB::select($sql);
$item['totalFlat'] = $total[0]->num;
//胜场数
$sql = 'SELECT COUNT(*) AS num FROM matchs WHERE ' . $whereBefore . ' AND ((home_team_id=' . $item['id'] . ' AND vs=1) OR (guest_team_id=' . $item['id'] . ' AND vs=3))';
//var_dump($sql);die();
$total = DB::select($sql);
$item['totalWin'] = $total[0]->num;
//输场数
Arguments
/www
/www.a00jd.cn
/app
/Http
/Domain
/TeamDomain.php
return $teamUpdateAt;
}
//积分榜
public static function ranking($league)
{
$key = 'team_domain_ranking1_'.$league['id'].'_'.config('app.part_cache_time').'_'.config('app.version');
if(!cacheDataHas($key) || !config('app.cache_page'))
{
$datas = [];
$totalScore = 0;
$list = Leagueteam::with('team')->where('league_id',$league['id'])->get();
foreach ($list as &$item)
{
$keyTeam = 'team_domain_ranking_team_'.'_'.config('app.part_cache_time').$item['id'].'_'.md5(self::matchUpdatedAt($item['id']));
$item = $item['team'];
$whereBefore = 'league_id=' . $league['id'] . ' AND start_time between "' . $league['start_month'] . '" AND "' . $league['end_month'] . '"
AND status=1';
$sql = 'SELECT updated_at FROM matchs WHERE ' . $whereBefore . ' AND (home_team_id=' . $item['id'] . ' OR guest_team_id=' . $item['id'] . ') ORDER BY updated_at DESC LIMIT 1';
$info = DB::select($sql);
$keyTeam = md5($keyTeam.date('Y-m-d H',strtotime($info[0]->updated_at)));
if(!cacheDataHas($keyTeam) || !config('app.cache_page'))
{
//总场次
$sql = 'SELECT COUNT(*) AS num FROM matchs WHERE ' . $whereBefore . ' AND (home_team_id=' . $item['id'] . ' OR guest_team_id=' . $item['id'] . ')';
//print_r($sql);die();
//$total = DB::select($sql);
//if((in_array($league['id'],League::$hotIds) && $total[0]->num>0) || !in_array($league['id'],League::$hotIds))
{
//平场数
$sql = $sql . ' AND vs=2';
$total = DB::select($sql);
$item['totalFlat'] = $total[0]->num;
//胜场数
$sql = 'SELECT COUNT(*) AS num FROM matchs WHERE ' . $whereBefore . ' AND ((home_team_id=' . $item['id'] . ' AND vs=1) OR (guest_team_id=' . $item['id'] . ' AND vs=3))';
//var_dump($sql);die();
$total = DB::select($sql);
$item['totalWin'] = $total[0]->num;
//输场数
Arguments
8
"Undefined offset: 0"
"/www/www.a00jd.cn/app/Http/Domain/TeamDomain.php"
357
array:10 [
"league" => League {#893}
"key" => "team_domain_ranking1_36_3609_159"
"datas" => array:5 [
0 => Team {#910}
1 => Team {#8268}
2 => Team {#15633}
3 => Team {#15632}
4 => Team {#909}
]
"totalScore" => 0
"list" => Collection {#8267}
"item" => Team {#15640}
"keyTeam" => "team_domain_ranking_team__36094515_e1540212558b625671dc7848577556ca"
"whereBefore" => """
league_id=36 AND start_time between "" AND "2020-08-19" \n
AND status=1
"""
"sql" => """
SELECT updated_at FROM matchs WHERE league_id=36 AND start_time between "" AND "2020-08-19" \n
AND status=1 AND (home_team_id=6 OR guest_team_id=6) ORDER BY updated_at DESC LIMIT 1
"""
"info" => []
]
/www
/www.a00jd.cn
/app
/Http
/Domain
/MatchDomain.php
return $data;
}
//赛事联盟轮次和联盟团队平均值
public static function leagueBatchRanking(&$data)
{
$where = [];
$data['leagueMatch'] = [];
if($data['info']['league_id']>0 && $data['info']['batch']>0)
{
$where['league_id'] = $data['info']['league_id'];
$where['batch'] = $data['info']['batch'];
$data['leagueMatch'] = LeagueDomain::match($where,$data['info']['league']['updated_at']);
}
$data['ranking'] = [];
$data['catid'] = $data['info']['league_id'];
if($data['catid'] >0)
{
$data['leagueInfo'] = $data['info']['league'];
$data['leagueInfo']['end_month'] = date('Y-m-d',strtotime($data['info']['start_time']));
$leagueLists = TeamDomain::ranking($data['leagueInfo']);
foreach ($leagueLists as $k=>$item)
{
$item['number'] = ++$k;
$data['ranking'][$item['id']] = $item;
}
}
}
public static function programmeNum($match_ids)
{
$match_ids = trim($match_ids,'_');
$match_ids = str_replace('_',',',$match_ids);
$sql = 'SELECT m.match_id,count(*) as num,(SELECT user_id FROM programmes WHERE match_id = m.match_id ORDER BY id DESC LIMIT 1) AS user_id FROM programmes m WHERE m.match_id IN(:match_id) GROUP BY m.match_id';
$datas = DB::select($sql,['match_id'=>$match_ids]);
foreach ($datas as &$item)
{
$where = [];
$where['id'] = $item->user_id;
$user = UserDomain::data($where,['name']);
$item->name = $user['name'];
}
Arguments
/www
/www.a00jd.cn
/app
/Http
/Controllers
/MatchController.php
$data['bookmarkerLists'] = $bookmarkerModel->datas($where);
config(['app.part_cache_time' => time()]);
$data['leagueScore'] = TeamDomain::scoreDesc();
return view('match/score',$data);
}
public function im(Request $request)
{
$uid = (int)session('uid');
$token= userDomain::token($uid);
return 'document.write(\'<iframe src="'.config('app.im_url').'/?token='.$token.'&content_id='.$request->id.'&p='.$request->get('url').'&pc=1" width="100%" height="524" frameborder="0" id="im_box"></iframe>\')';
}
public function ouzhi(Request $request)
{
$matchDomain = new MatchDomain;
$data = $matchDomain->view($request);
$data['isLive'] = MatchDomain::isLive($data);
$data['seo'] = MatchDomain::seo('match_gif',$data);
$data['url'] = $data['info']['url'].'/ouzhi/';
$data['subC'] = 'match_ouzhi';
MatchDomain::leagueBatchRanking($data);
$where = [];
$where['match_id'] = $data['info']['id'];
$europeDomain = new EuropeDomain();
$data['lists'] = $europeDomain->datas($where);
return view('match/ouzhi',$data);
}
public function daxiao(Request $request)
{
$matchDomain = new MatchDomain;
$data = $matchDomain->view($request);
$data['isLive'] = MatchDomain::isLive($data);
$data['seo'] = MatchDomain::seo('match_gif',$data);
$data['url'] = $data['info']['url'].'/daxiao/';
$data['subC'] = 'match_daxiao';
MatchDomain::leagueBatchRanking($data);
$where = [];
$where['match_id'] = $data['info']['id'];
$where['type'] = 1;
$asiaDomain = new AsiaDomain();
$data['lists'] = $asiaDomain->tableDatas($where);
Arguments
array:14 [
"domain" => null
"info" => Match {#888}
"c" => "match"
"ouzhiNum" => 114
"yazhiNum" => 0
"daxiaoNum" => 0
"isLive" => 0
"seo" => array:3 [
"title" => "尼克宾vs海勒鲁普全场比赛精彩动图"
"description" => "714足球网为您提供尼克宾vs海勒鲁普全场精彩动图,让你了解整场比赛过程"
"keyword" => "尼克宾vs海勒鲁普精彩动图"
]
"url" => "http://www.a00jd.cn/match/193449/ouzhi/"
"subC" => "match_ouzhi"
"leagueMatch" => []
"ranking" => []
"catid" => 36
"leagueInfo" => League {#893}
]
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Controller.php
/**
* Get the middleware assigned to the controller.
*
* @return array
*/
public function getMiddleware()
{
return $this->middleware;
}
/**
* Execute an action on the controller.
*
* @param string $method
* @param array $parameters
* @return \Symfony\Component\HttpFoundation\Response
*/
public function callAction($method, $parameters)
{
return call_user_func_array([$this, $method], $parameters);
}
/**
* Handle calls to missing methods on the controller.
*
* @param string $method
* @param array $parameters
* @return mixed
*
* @throws \BadMethodCallException
*/
public function __call($method, $parameters)
{
throw new BadMethodCallException(sprintf(
'Method %s::%s does not exist.', static::class, $method
));
}
}
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
"193449"
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Controller.php
/**
* Get the middleware assigned to the controller.
*
* @return array
*/
public function getMiddleware()
{
return $this->middleware;
}
/**
* Execute an action on the controller.
*
* @param string $method
* @param array $parameters
* @return \Symfony\Component\HttpFoundation\Response
*/
public function callAction($method, $parameters)
{
return call_user_func_array([$this, $method], $parameters);
}
/**
* Handle calls to missing methods on the controller.
*
* @param string $method
* @param array $parameters
* @return mixed
*
* @throws \BadMethodCallException
*/
public function __call($method, $parameters)
{
throw new BadMethodCallException(sprintf(
'Method %s::%s does not exist.', static::class, $method
));
}
}
Arguments
array:2 [
0 => MatchController {#619}
1 => "ouzhi"
]
array:2 [
0 => Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
"id" => "193449"
]
/www
/www.a00jd.cn
/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
"ouzhi"
array:2 [
0 => Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
"id" => "193449"
]
/www
/www.a00jd.cn
/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 {#537}
MatchController {#619}
"ouzhi"
/www
/www.a00jd.cn
/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
/www.a00jd.cn
/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
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/flc
/laravel-middleware-cache-response
/src
/Middleware
/CacheResponse.php
$redis->setex($key, $minutes*60, $updateTime);
$this->responseCache();
cdnUpdate($request->url());
}
}
/**
* 生成或读取Response-Cache
*
* @return array
*/
protected function responseCache()
{
$this->responseCache = Cache::remember(
$this->cacheKey,
$this->minutes,
function () {
$this->cacheMissed();
$response = ($this->next)($this->request);
if($response->getStatusCode()!=200)$this->minutes = 0;
return $this->resolveResponseCache($response) + [
'cacheExpireAt' => Carbon::now()->addMinutes($this->minutes)->format('Y-m-d H:i:s T'),
];
}
);
if ($this->request->is('api/*')) $this->responseCache['content'] = json_decode($this->responseCache['content'],true);
return $this->responseCache;
}
/**
* 确定需要缓存Response的数据
*
* @param \Illuminate\Http\Response $response
*
* @return array
*/
protected function resolveResponseCache($response)
{
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Cache
/Repository.php
/**
* Get an item from the cache, or execute the given Closure and store the result.
*
* @param string $key
* @param \DateTimeInterface|\DateInterval|int|null $ttl
* @param \Closure $callback
* @return mixed
*/
public function remember($key, $ttl, Closure $callback)
{
$value = $this->get($key);
// If the item exists in the cache we will just return this immediately and if
// not we will execute the given Closure and cache the result of that for a
// given number of seconds so it's available for all subsequent requests.
if (! is_null($value)) {
return $value;
}
$this->put($key, $value = $callback(), $ttl);
return $value;
}
/**
* Get an item from the cache, or execute the given Closure and store the result forever.
*
* @param string $key
* @param \Closure $callback
* @return mixed
*/
public function sear($key, Closure $callback)
{
return $this->rememberForever($key, $callback);
}
/**
* Get an item from the cache, or execute the given Closure and store the result forever.
*
* @param string $key
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Cache
/CacheManager.php
* @param \Closure $callback
* @return $this
*/
public function extend($driver, Closure $callback)
{
$this->customCreators[$driver] = $callback->bindTo($this, $this);
return $this;
}
/**
* Dynamically call the default driver instance.
*
* @param string $method
* @param array $parameters
* @return mixed
*/
public function __call($method, $parameters)
{
return $this->store()->$method(...$parameters);
}
}
Arguments
"1b36d463af360e8d3dbe69e60321d852"
1440
Closure() {#854 …4}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Support
/Facades
/Facade.php
}
/**
* Handle dynamic, static calls to the object.
*
* @param string $method
* @param array $args
* @return mixed
*
* @throws \RuntimeException
*/
public static function __callStatic($method, $args)
{
$instance = static::getFacadeRoot();
if (! $instance) {
throw new RuntimeException('A facade root has not been set.');
}
return $instance->$method(...$args);
}
}
Arguments
"remember"
array:3 [
0 => "1b36d463af360e8d3dbe69e60321d852"
1 => 1440
2 => Closure() {#854 …4}
]
/www
/www.a00jd.cn
/vendor
/flc
/laravel-middleware-cache-response
/src
/Middleware
/CacheResponse.php
}
/**
* 生成或读取Response-Cache
*
* @return array
*/
protected function responseCache()
{
$this->responseCache = Cache::remember(
$this->cacheKey,
$this->minutes,
function () {
$this->cacheMissed();
$response = ($this->next)($this->request);
if($response->getStatusCode()!=200)$this->minutes = 0;
return $this->resolveResponseCache($response) + [
'cacheExpireAt' => Carbon::now()->addMinutes($this->minutes)->format('Y-m-d H:i:s T'),
];
}
);
if ($this->request->is('api/*')) $this->responseCache['content'] = json_decode($this->responseCache['content'],true);
return $this->responseCache;
}
/**
* 确定需要缓存Response的数据
*
* @param \Illuminate\Http\Response $response
*
* @return array
*/
protected function resolveResponseCache($response)
{
return [
'content' => $response->getContent(),
];
}
Arguments
"remember"
array:3 [
0 => "1b36d463af360e8d3dbe69e60321d852"
1 => 1440
2 => Closure() {#854 …4}
]
/www
/www.a00jd.cn
/vendor
/flc
/laravel-middleware-cache-response
/src
/Middleware
/CacheResponse.php
/**
* Handle an incoming request
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param int|null $minutes
*
* @return mixed
*/
//浏览器跨域权限
protected $accessControlAllowOrigin = '';
public function handle($request, Closure $next, $minutes = null,$key = null,$accessControlAllowOrigin = '')
{
$redis = app('redis.connection');
$this->cacheUpdateTimeKey = 'page_'.$key.$request->id.$redis->get(config('app.url').$key);
$this->accessControlAllowOrigin = $accessControlAllowOrigin;
$this->prepare($request, $next, $minutes,$key);
$this->responseCache();
$this->loadError($request, $next, $minutes,$key);
$response = response($this->responseCache['content']);
return $this->addHeaders($response);
}
/**
* 预备
*
* @return mixed
*/
protected function prepare($request, Closure $next, $minutes = null,$key = null)
{
$redis = app('redis.connection');
$key = $this->cacheUpdateTimeKey;
$updateTime = (int)$redis->get($key);
//echo '<div style="display:none">'.$updateTime.'</div>';
if($updateTime==0)
{
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#630 …5}
"1440"
"match_show_"
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#803 …5}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/VerifyCsrfToken.php
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Illuminate\Session\TokenMismatchException
*/
public function handle($request, Closure $next)
{
if (
$this->isReading($request) ||
$this->runningUnitTests() ||
$this->inExceptArray($request) ||
$this->tokensMatch($request)
) {
return tap($next($request), function ($response) use ($request) {
if ($this->shouldAddXsrfTokenCookie()) {
$this->addCookieToResponse($request, $response);
}
});
}
throw new TokenMismatchException('CSRF token mismatch.');
}
/**
* Determine if the HTTP request uses a ‘read’ verb.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function isReading($request)
{
return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
}
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#804 …5}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#805 …5}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/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)
{
if (! $this->sessionConfigured()) {
return $next($request);
}
// If a session driver has been configured, we will need to start the session here
// so that the data is ready for an application. Note that the Laravel sessions
// do not make use of PHP "native" sessions in any way since they are crappy.
$request->setLaravelSession(
$session = $this->startSession($request)
);
$this->collectGarbage($session);
$response = $next($request);
$this->storeCurrentUrl($request, $session);
$this->addCookieToResponse($response, $session);
// Again, if the session has been configured we will need to close out the session
// so that the attributes may be persisted to some storage medium. We will also
// add the session identifier cookie to the application response headers now.
$this->saveSession($request);
return $response;
}
/**
* Start the session for the given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Contracts\Session\Session
*/
protected function startSession(Request $request)
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#806 …5}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#807 …5}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Cookie
/Middleware
/EncryptCookies.php
* Disable encryption for the given cookie name(s).
*
* @param string|array $name
* @return void
*/
public function disableFor($name)
{
$this->except = array_merge($this->except, (array) $name);
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return \Symfony\Component\HttpFoundation\Response
*/
public function handle($request, Closure $next)
{
return $this->encrypt($next($this->decrypt($request)));
}
/**
* Decrypt the cookies on the request.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @return \Symfony\Component\HttpFoundation\Request
*/
protected function decrypt(Request $request)
{
foreach ($request->cookies as $key => $cookie) {
if ($this->isDisabled($key)) {
continue;
}
try {
$request->cookies->set($key, $this->decryptCookie($key, $cookie));
} catch (DecryptException $e) {
$request->cookies->set($key, null);
}
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#808 …5}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
public function via($method)
{
$this->method = $method;
return $this;
}
/**
* Run the pipeline with a final destination callback.
*
* @param \Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
);
return $pipeline($this->passable);
}
/**
* Run the pipeline and return the result.
*
* @return mixed
*/
public function thenReturn()
{
return $this->then(function ($passable) {
return $passable;
});
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/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($request) {#629 …5}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
return $route;
}
/**
* Return the response for the given route.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Routing\Route $route
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
protected function runRoute(Request $request, Route $route)
{
$request->setRouteResolver(function () use ($route) {
return $route;
});
$this->events->dispatch(new Events\RouteMatched($route, $request));
return $this->prepareResponse($request,
$this->runRouteWithinStack($route, $request)
);
}
/**
* Run the given route within a Stack "onion" instance.
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
Arguments
Route {#537}
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/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 \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
}
/**
* Find the route matching a given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Routing\Route
*/
protected function findRoute($request)
{
$this->current = $route = $this->routes->match($request);
$this->container->instance(Route::class, $route);
return $route;
}
/**
* Return the response for the given route.
*
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Route {#537}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function respondWithRoute($name)
{
$route = tap($this->routes->getByName($name))->bind($this->currentRequest);
return $this->runRoute($this->currentRequest, $route);
}
/**
* Dispatch the request to the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
}
/**
* Find the route matching a given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Routing\Route
*/
protected function findRoute($request)
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/fideloper
/proxy
/src
/TrustProxies.php
{
$this->config = $config;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
*
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
$request::setTrustedProxies([], $this->getTrustedHeaderNames()); // Reset trusted proxies between requests
$this->setTrustedProxyIpAddresses($request);
return $next($request);
}
/**
* Sets the trusted proxies on the request to the value of trustedproxy.proxies
*
* @param \Illuminate\Http\Request $request
*/
protected function setTrustedProxyIpAddresses(Request $request)
{
$trustedIps = $this->proxies ?: $this->config->get('trustedproxy.proxies');
// Trust any IP address that calls us
// `**` for backwards compatibility, but is deprecated
if ($trustedIps === '*' || $trustedIps === '**') {
return $this->setTrustedProxyIpAddressesToTheCallingIp($request);
}
// Support IPs addresses separated by comma
$trustedIps = is_string($trustedIps) ? array_map('trim', explode(',', $trustedIps)) : $trustedIps;
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#455 …5}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/TransformsRequest.php
namespace Illuminate\Foundation\Http\Middleware;
use Closure;
use Symfony\Component\HttpFoundation\ParameterBag;
class TransformsRequest
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->clean($request);
return $next($request);
}
/**
* Clean the request's data.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function clean($request)
{
$this->cleanParameterBag($request->query);
if ($request->isJson()) {
$this->cleanParameterBag($request->json());
} elseif ($request->request !== $request->query) {
$this->cleanParameterBag($request->request);
}
}
/**
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#456 …5}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/TransformsRequest.php
namespace Illuminate\Foundation\Http\Middleware;
use Closure;
use Symfony\Component\HttpFoundation\ParameterBag;
class TransformsRequest
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->clean($request);
return $next($request);
}
/**
* Clean the request's data.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function clean($request)
{
$this->cleanParameterBag($request->query);
if ($request->isJson()) {
$this->cleanParameterBag($request->json());
} elseif ($request->request !== $request->query) {
$this->cleanParameterBag($request->request);
}
}
/**
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#520 …5}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#521 …5}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/CheckForMaintenanceMode.php
*
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
*/
public function handle($request, Closure $next)
{
if ($this->app->isDownForMaintenance()) {
$data = json_decode(file_get_contents($this->app->storagePath().'/framework/down'), true);
if (isset($data['allowed']) && IpUtils::checkIp($request->ip(), (array) $data['allowed'])) {
return $next($request);
}
if ($this->inExceptArray($request)) {
return $next($request);
}
throw new MaintenanceModeException($data['time'], $data['retry'], $data['message']);
}
return $next($request);
}
/**
* Determine if the request has a URI that should be accessible in maintenance mode.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function inExceptArray($request)
{
foreach ($this->except as $except) {
if ($except !== '/') {
$except = trim($except, '/');
}
if ($request->fullUrlIs($except) || $request->is($except)) {
return true;
}
}
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#603 …5}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
public function via($method)
{
$this->method = $method;
return $this;
}
/**
* Run the pipeline with a final destination callback.
*
* @param \Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
);
return $pipeline($this->passable);
}
/**
* Run the pipeline and return the result.
*
* @return mixed
*/
public function thenReturn()
{
return $this->then(function ($passable) {
return $passable;
});
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/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($request) {#22 …4}
/www
/www.a00jd.cn
/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 {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/www
/www.a00jd.cn
/public
/index.php
$app = require_once __DIR__.'/../bootstrap/app.php';
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);
Arguments
Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#620 …5}
#routeResolver: Closure() {#622 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:4 [
0 => "text/html"
1 => "application/xhtml+xml"
2 => "application/xml"
3 => "*/*"
]
#pathInfo: "/match/193449/ouzhi/"
#requestUri: "/match/193449/ouzhi/"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#835}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}