/var/www/sheng_xin_ren_v2/vendor/symfony/polyfill-php80/bootstrap.php
*/
use Symfony\Polyfill\Php80 as p;
if (\PHP_VERSION_ID >= 80000) {
return;
}
if (!defined('FILTER_VALIDATE_BOOL') && defined('FILTER_VALIDATE_BOOLEAN')) {
define('FILTER_VALIDATE_BOOL', \FILTER_VALIDATE_BOOLEAN);
}
if (!function_exists('fdiv')) {
function fdiv(float $num1, float $num2): float { return p\Php80::fdiv($num1, $num2); }
}
if (!function_exists('preg_last_error_msg')) {
function preg_last_error_msg(): string { return p\Php80::preg_last_error_msg(); }
}
if (!function_exists('str_contains')) {
function str_contains(?string $haystack, ?string $needle): bool { return p\Php80::str_contains($haystack ?? '', $needle ?? ''); }
}
if (!function_exists('str_starts_with')) {
function str_starts_with(?string $haystack, ?string $needle): bool { return p\Php80::str_starts_with($haystack ?? '', $needle ?? ''); }
}
if (!function_exists('str_ends_with')) {
function str_ends_with(?string $haystack, ?string $needle): bool { return p\Php80::str_ends_with($haystack ?? '', $needle ?? ''); }
}
if (!function_exists('get_debug_type')) {
function get_debug_type($value): string { return p\Php80::get_debug_type($value); }
}
if (!function_exists('get_resource_id')) {
function get_resource_id($resource): int { return p\Php80::get_resource_id($resource); }
}
Arguments
"Argument 2 passed to str_contains() must be of the type string or null, array given, called in /var/www/sheng_xin_ren_v2/app/helpers.php on line 435 (View: /var/www/sheng_xin_ren_v2/resources/views/themes/default/article/show.blade.php)"
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php
* @param array $__data
* @return string
*/
protected function evaluatePath($__path, $__data)
{
$obLevel = ob_get_level();
ob_start();
extract($__data, EXTR_SKIP);
// We'll evaluate the contents of the view inside a try/catch block so we can
// flush out any stray output that might get out before an error occurs or
// an exception is thrown. This prevents any partial views from leaking.
try {
include $__path;
} catch (Exception $e) {
$this->handleViewException($e, $obLevel);
} catch (Throwable $e) {
$this->handleViewException(new FatalThrowableError($e), $obLevel);
}
return ltrim(ob_get_clean());
}
/**
* Handle a view exception.
*
* @param \Exception $e
* @param int $obLevel
* @return void
*
* @throws \Exception
*/
protected function handleViewException(Exception $e, $obLevel)
{
while (ob_get_level() > $obLevel) {
ob_end_clean();
}
Arguments
FatalThrowableError {#748
-originalClassName: "TypeError"
#message: "Argument 2 passed to str_contains() must be of the type string or null, array given, called in /var/www/sheng_xin_ren_v2/app/helpers.php on line 435"
#code: 0
#file: "/var/www/sheng_xin_ren_v2/vendor/symfony/polyfill-php80/bootstrap.php"
#line: 29
#severity: E_RECOVERABLE_ERROR
}
1
/var/www/sheng_xin_ren_v2/vendor/symfony/polyfill-php80/bootstrap.php
*/
use Symfony\Polyfill\Php80 as p;
if (\PHP_VERSION_ID >= 80000) {
return;
}
if (!defined('FILTER_VALIDATE_BOOL') && defined('FILTER_VALIDATE_BOOLEAN')) {
define('FILTER_VALIDATE_BOOL', \FILTER_VALIDATE_BOOLEAN);
}
if (!function_exists('fdiv')) {
function fdiv(float $num1, float $num2): float { return p\Php80::fdiv($num1, $num2); }
}
if (!function_exists('preg_last_error_msg')) {
function preg_last_error_msg(): string { return p\Php80::preg_last_error_msg(); }
}
if (!function_exists('str_contains')) {
function str_contains(?string $haystack, ?string $needle): bool { return p\Php80::str_contains($haystack ?? '', $needle ?? ''); }
}
if (!function_exists('str_starts_with')) {
function str_starts_with(?string $haystack, ?string $needle): bool { return p\Php80::str_starts_with($haystack ?? '', $needle ?? ''); }
}
if (!function_exists('str_ends_with')) {
function str_ends_with(?string $haystack, ?string $needle): bool { return p\Php80::str_ends_with($haystack ?? '', $needle ?? ''); }
}
if (!function_exists('get_debug_type')) {
function get_debug_type($value): string { return p\Php80::get_debug_type($value); }
}
if (!function_exists('get_resource_id')) {
function get_resource_id($resource): int { return p\Php80::get_resource_id($resource); }
}
Arguments
"Argument 2 passed to str_contains() must be of the type string or null, array given, called in /var/www/sheng_xin_ren_v2/app/helpers.php on line 435"
/var/www/sheng_xin_ren_v2/app/helpers.php
if ($showDateTime) {
$time_format_string .= ' ' . Setting()->get('time_format');
}
if (Setting()->get('time_friendly') == 1) {
return $carbon->diffInWeeks(\Carbon\Carbon::now()) >= 1 ? $carbon->format($time_format_string) : $carbon->diffForHumans();
}
return $carbon->format($time_format_string);
}
}
if (!function_exists('parse_seo_template')) {
function parse_seo_template($type, $source)
{
$seo_template = Setting()->get($type);
$seo_template = str_replace("{wzmc}", Setting()->get('website_name'), $seo_template);
$seo_template = str_replace("{wzkh}", Setting()->get('website_slogan'), $seo_template);
if (str_contains($type, ['question', 'article'])) {
if ($source->tags) {
$tagList = array_pluck($source->tags->toArray(), 'name');
$seo_template = str_replace("{htlb}", implode(",", $tagList), $seo_template);
}
}
if (str_contains($type, 'question')) {
$seo_template = str_replace("{wtbt}", strip_tags($source->title), $seo_template);
$seo_template = str_replace("{wtms}", str_limit(strip_tags($source->description), 200), $seo_template);
} else {
if (str_contains($type, 'article')) {
$seo_template = str_replace("{wzbt}", strip_tags($source->title), $seo_template);
$seo_template = str_replace("{wzzy}", str_limit($source->summary, 200), $seo_template);
} else {
if (str_contains($type, 'topic')) {
$seo_template = str_replace("{htmc}", $source->name, $seo_template);
$seo_template = str_replace("{htjj}", str_limit($source->summary, 200), $seo_template);
}
}
}
Arguments
"seo_article_title"
array:2 [
0 => "question"
1 => "article"
]
/var/www/sheng_xin_ren/storage/framework/views/8f24aad5a87fae944ac475fb992fc2d2da780911.php
<?php $__env->startSection('seo_title'); ?><?php echo e(parse_seo_template('seo_article_title',$article)); ?><?php $__env->stopSection(); ?>
<?php $__env->startSection('seo_keyword'); ?><?php echo e(parse_seo_template('seo_article_keyword',$article)); ?><?php $__env->stopSection(); ?>
<?php $__env->startSection('seo_description'); ?><?php echo e(parse_seo_template('seo_article_description',$article)); ?><?php $__env->stopSection(); ?>
<?php $__env->startSection('css'); ?>
<link href="<?php echo e(asset('/static/js/fancybox/jquery.fancybox.min.css')); ?>" rel="stylesheet">
<?php $__env->stopSection(); ?>
<?php $__env->startSection('content'); ?>
<div class="row mt-10">
<div class="col-xs-12 col-md-9 main">
<div class="widget-article">
<h3 class="title"><?php echo e($article->title); ?></h3>
<?php if($article->tags): ?>
<ul class="taglist-inline">
<?php $__currentLoopData = $article->tags; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $tag): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
<li class="tagPopup"><a class="tag" href="<?php echo e(route('ask.tag.index',['id'=>$tag->id])); ?>"><?php echo e($tag->name); ?></a></li>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
</ul>
<?php endif; ?>
<div class="content mt-10">
<div class="quote mb-20">
<?php echo e($article->summary); ?>
</div>
<div class="text-fmt">
<?php echo $article->content; ?>
</div>
<div class="post-opt mt-30">
<ul class="list-inline text-muted">
<li>
<i class="fa fa-clock-o"></i>
发表于 <?php echo e(timestamp_format($article->created_at)); ?>
</li>
<li>阅读 ( <?php echo e($article->views); ?> )</li>
<?php if($article->category): ?>
<li>分类:<a href="<?php echo e(route('website.blog',['category_slug'=>$article->category->slug])); ?>" target="_blank"><?php echo e($article->category->name); ?></a>
<?php endif; ?>
</li>
<?php if($article->status !== 2 && Auth()->check() && (Auth()->user()->id === $article->user_id || Auth()->user()->can('admin.login') ) ): ?>
Arguments
"seo_article_title"
Article {#709}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php
/**
* Get the evaluated contents of the view at the given path.
*
* @param string $__path
* @param array $__data
* @return string
*/
protected function evaluatePath($__path, $__data)
{
$obLevel = ob_get_level();
ob_start();
extract($__data, EXTR_SKIP);
// We'll evaluate the contents of the view inside a try/catch block so we can
// flush out any stray output that might get out before an error occurs or
// an exception is thrown. This prevents any partial views from leaking.
try {
include $__path;
} catch (Exception $e) {
$this->handleViewException($e, $obLevel);
} catch (Throwable $e) {
$this->handleViewException(new FatalThrowableError($e), $obLevel);
}
return ltrim(ob_get_clean());
}
/**
* Handle a view exception.
*
* @param \Exception $e
* @param int $obLevel
* @return void
*
* @throws \Exception
*/
protected function handleViewException(Exception $e, $obLevel)
{
Arguments
"/var/www/sheng_xin_ren/storage/framework/views/8f24aad5a87fae944ac475fb992fc2d2da780911.php"
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php
* @param array $data
* @return string
*/
public function get($path, array $data = [])
{
$this->lastCompiled[] = $path;
// If this given view has expired, which means it has simply been edited since
// it was last compiled, we will re-compile the views so we can evaluate a
// fresh copy of the view. We'll pass the compiler the path of the view.
if ($this->compiler->isExpired($path)) {
$this->compiler->compile($path);
}
$compiled = $this->compiler->getCompiledPath($path);
// Once we have the path to the compiled file, we will evaluate the paths with
// typical PHP just like any other templates. We also keep a stack of views
// which have been rendered for right exception messages to be generated.
$results = $this->evaluatePath($compiled, $data);
array_pop($this->lastCompiled);
return $results;
}
/**
* Handle a view exception.
*
* @param \Exception $e
* @param int $obLevel
* @return void
*
* @throws \Exception
*/
protected function handleViewException(Exception $e, $obLevel)
{
$e = new ErrorException($this->getMessage($e), 0, 1, $e->getFile(), $e->getLine(), $e);
parent::handleViewException($e, $obLevel);
Arguments
"/var/www/sheng_xin_ren/storage/framework/views/8f24aad5a87fae944ac475fb992fc2d2da780911.php"
array:7 [
"__env" => Factory {#134}
"app" => Application {#6}
"errors" => ViewErrorBag {#683}
"article" => Article {#709}
"topUsers" => Collection {#719}
"relatedQuestions" => Collection {#734}
"relatedArticles" => Collection {#750}
]
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/View/View.php
$this->factory->callComposer($this);
$contents = $this->getContents();
// Once we've finished rendering the view, we'll decrement the render count
// so that each sections get flushed out next time a view is created and
// no old sections are staying around in the memory of an environment.
$this->factory->decrementRender();
return $contents;
}
/**
* Get the evaluated contents of the view.
*
* @return string
*/
protected function getContents()
{
return $this->engine->get($this->path, $this->gatherData());
}
/**
* Get the data bound to the view instance.
*
* @return array
*/
protected function gatherData()
{
$data = array_merge($this->factory->getShared(), $this->data);
foreach ($data as $key => $value) {
if ($value instanceof Renderable) {
$data[$key] = $value->render();
}
}
return $data;
}
Arguments
"/var/www/sheng_xin_ren_v2/resources/views/themes/default/article/show.blade.php"
array:7 [
"__env" => Factory {#134}
"app" => Application {#6}
"errors" => ViewErrorBag {#683}
"article" => Article {#709}
"topUsers" => Collection {#719}
"relatedQuestions" => Collection {#734}
"relatedArticles" => Collection {#750}
]
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/View/View.php
throw $e;
}
}
/**
* Get the contents of the view instance.
*
* @return string
*/
protected function renderContents()
{
// We will keep track of the amount of views being rendered so we can flush
// the section after the complete rendering operation is done. This will
// clear out the sections for any separate views that may be rendered.
$this->factory->incrementRender();
$this->factory->callComposer($this);
$contents = $this->getContents();
// Once we've finished rendering the view, we'll decrement the render count
// so that each sections get flushed out next time a view is created and
// no old sections are staying around in the memory of an environment.
$this->factory->decrementRender();
return $contents;
}
/**
* Get the evaluated contents of the view.
*
* @return string
*/
protected function getContents()
{
return $this->engine->get($this->path, $this->gatherData());
}
/**
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/View/View.php
$this->view = $view;
$this->path = $path;
$this->engine = $engine;
$this->factory = $factory;
$this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
}
/**
* Get the string contents of the view.
*
* @param callable|null $callback
* @return string
*
* @throws \Throwable
*/
public function render(callable $callback = null)
{
try {
$contents = $this->renderContents();
$response = isset($callback) ? call_user_func($callback, $this, $contents) : null;
// Once we have the contents of the view, we will flush the sections if we are
// done rendering all views so that there is nothing left hanging over when
// another view gets rendered in the future by the application developer.
$this->factory->flushStateIfDoneRendering();
return ! is_null($response) ? $response : $contents;
} catch (Exception $e) {
$this->factory->flushState();
throw $e;
} catch (Throwable $e) {
$this->factory->flushState();
throw $e;
}
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Http/Response.php
* @return $this
*/
public function setContent($content)
{
$this->original = $content;
// If the content is "JSONable" we will set the appropriate header and convert
// the content to JSON. This is useful when returning something like models
// from routes that will be automatically transformed to their JSON form.
if ($this->shouldBeJson($content)) {
$this->header('Content-Type', 'application/json');
$content = $this->morphToJson($content);
}
// If this content implements the "Renderable" interface then we will call the
// render method on the object so we will avoid any "__toString" exceptions
// that might be thrown and have their errors obscured by PHP's handling.
elseif ($content instanceof Renderable) {
$content = $content->render();
}
parent::setContent($content);
return $this;
}
/**
* Determine if the given content should be turned into JSON.
*
* @param mixed $content
* @return bool
*/
protected function shouldBeJson($content)
{
return $content instanceof Arrayable ||
$content instanceof Jsonable ||
$content instanceof ArrayObject ||
$content instanceof JsonSerializable ||
is_array($content);
/var/www/sheng_xin_ren_v2/vendor/symfony/http-foundation/Response.php
500 => 'Internal Server Error',
501 => 'Not Implemented',
502 => 'Bad Gateway',
503 => 'Service Unavailable',
504 => 'Gateway Timeout',
505 => 'HTTP Version Not Supported',
506 => 'Variant Also Negotiates', // RFC2295
507 => 'Insufficient Storage', // RFC4918
508 => 'Loop Detected', // RFC5842
510 => 'Not Extended', // RFC2774
511 => 'Network Authentication Required', // RFC6585
];
/**
* @throws \InvalidArgumentException When the HTTP status code is not valid
*/
public function __construct($content = '', int $status = 200, array $headers = [])
{
$this->headers = new ResponseHeaderBag($headers);
$this->setContent($content);
$this->setStatusCode($status);
$this->setProtocolVersion('1.0');
}
/**
* Factory method for chainability.
*
* Example:
*
* return Response::create($body, 200)
* ->setSharedMaxAge(300);
*
* @param mixed $content The response content, see setContent()
* @param int $status The response status code
* @param array $headers An array of response headers
*
* @return static
*/
public static function create($content = '', $status = 200, $headers = [])
{
Arguments
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php
*/
public static function toResponse($request, $response)
{
if ($response instanceof Responsable) {
$response = $response->toResponse($request);
}
if ($response instanceof PsrResponseInterface) {
$response = (new HttpFoundationFactory)->createResponse($response);
} elseif ($response instanceof Model && $response->wasRecentlyCreated) {
$response = new JsonResponse($response, 201);
} elseif (! $response instanceof SymfonyResponse &&
($response instanceof Arrayable ||
$response instanceof Jsonable ||
$response instanceof ArrayObject ||
$response instanceof JsonSerializable ||
is_array($response))) {
$response = new JsonResponse($response);
} elseif (! $response instanceof SymfonyResponse) {
$response = new Response($response);
}
if ($response->getStatusCode() === Response::HTTP_NOT_MODIFIED) {
$response->setNotModified();
}
return $response->prepare($request);
}
/**
* Substitute the route bindings onto the route.
*
* @param \Illuminate\Routing\Route $route
* @return \Illuminate\Routing\Route
*/
public function substituteBindings($route)
{
foreach ($route->parameters() as $key => $value) {
if (isset($this->binders[$key])) {
$route->setParameter($key, $this->performBinding($key, $value, $route));
Arguments
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php
* Sort the given middleware by priority.
*
* @param \Illuminate\Support\Collection $middlewares
* @return array
*/
protected function sortMiddleware(Collection $middlewares)
{
return (new SortedMiddleware($this->middlewarePriority, $middlewares))->all();
}
/**
* Create a response instance from the given value.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @param mixed $response
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function prepareResponse($request, $response)
{
return static::toResponse($request, $response);
}
/**
* Static version of prepareResponse.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @param mixed $response
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public static function toResponse($request, $response)
{
if ($response instanceof Responsable) {
$response = $response->toResponse($request);
}
if ($response instanceof PsrResponseInterface) {
$response = (new HttpFoundationFactory)->createResponse($response);
} elseif ($response instanceof Model && $response->wasRecentlyCreated) {
$response = new JsonResponse($response, 201);
} elseif (! $response instanceof SymfonyResponse &&
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
View {#730}
/var/www/sheng_xin_ren_v2/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);
}
/**
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
View {#730}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->container->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#542 …5}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Illuminate\Session\TokenMismatchException
*/
public function handle($request, Closure $next)
{
if (
$this->isReading($request) ||
$this->runningUnitTests() ||
$this->inExceptArray($request) ||
$this->tokensMatch($request)
) {
return $this->addCookieToResponse($request, $next($request));
}
throw new TokenMismatchException;
}
/**
* Determine if the HTTP request uses a ‘read’ verb.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function isReading($request)
{
return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
}
/**
* Determine if the application is running unit tests.
*
* @return bool
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->container->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#664 …5}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->container->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#665 …5}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->sessionHandled = true;
// If a session driver has been configured, we will need to start the session here
// so that the data is ready for an application. Note that the Laravel sessions
// do not make use of PHP "native" sessions in any way since they are crappy.
if ($this->sessionConfigured()) {
$request->setLaravelSession(
$session = $this->startSession($request)
);
$this->collectGarbage($session);
}
$response = $next($request);
// Again, if the session has been configured we will need to close out the session
// so that the attributes may be persisted to some storage medium. We will also
// add the session identifier cookie to the application response headers now.
if ($this->sessionConfigured()) {
$this->storeCurrentUrl($request, $session);
$this->addCookieToResponse($response, $session);
}
return $response;
}
/**
* Perform any final actions for the request lifecycle.
*
* @param \Illuminate\Http\Request $request
* @param \Symfony\Component\HttpFoundation\Response $response
* @return void
*/
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->container->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#666 …5}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->container->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#667 …5}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->container->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#668 …5}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
public function via($method)
{
$this->method = $method;
return $this;
}
/**
* Run the pipeline with a final destination callback.
*
* @param \Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
);
return $pipeline($this->passable);
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
return $destination($passable);
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/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) {#541 …5}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php
return $route;
}
/**
* Return the response for the given route.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Routing\Route $route
* @return mixed
*/
protected function runRoute(Request $request, Route $route)
{
$request->setRouteResolver(function () use ($route) {
return $route;
});
$this->events->dispatch(new Events\RouteMatched($route, $request));
return $this->prepareResponse($request,
$this->runRouteWithinStack($route, $request)
);
}
/**
* Run the given route within a Stack "onion" instance.
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
Arguments
Route {#325}
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return mixed
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
}
/**
* Find the route matching a given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Routing\Route
*/
protected function findRoute($request)
{
$this->current = $route = $this->routes->match($request);
$this->container->instance(Route::class, $route);
return $route;
}
/**
* Return the response for the given route.
*
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Route {#325}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php
* @return mixed
*/
public function respondWithRoute($name)
{
$route = tap($this->routes->getByName($name))->bind($this->currentRequest);
return $this->runRoute($this->currentRequest, $route);
}
/**
* Dispatch the request to the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return mixed
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
}
/**
* Find the route matching a given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Routing\Route
*/
protected function findRoute($request)
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/app/Http/Middleware/AccessControlAllowOrigin.php
class AccessControlAllowOrigin
{
/**
*
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Credentials: true");
//header("Access-Control-Allow-Methods: *");
header("Access-Control-Allow-Headers: Content-Type,Access-Token,Origin, X-Requested-With, Accept, Authorization");
header("Access-Control-Expose-Headers: *");
header("Access-Control-Request-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization,Access-Token");
header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH');
return $next($request);
}
}
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->container->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#486 …5}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/app/Http/Middleware/BanIpCheck.php
* @return mixed
*/
public function handle($request, Closure $next)
{
$ip = $request->getClientIp();
$ips = Cache::rememberForever('ip_blacklist', function () {
if (!file_exists(storage_path('installed'))) {
return [];
}
return BanIp::all()->pluck('ip')->toArray();
});
if (Auth::check() && !Auth::user()->isSuperAdmin()) {
if (in_array($ip, $ips)) {
abort('403');
return false;
}
}
return $next($request);
}
}
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->container->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#181 …5}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->container->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#487 …5}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php
*
* @var array
*/
protected $attributes = [];
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param array ...$attributes
* @return mixed
*/
public function handle($request, Closure $next, ...$attributes)
{
$this->attributes = $attributes;
$this->clean($request);
return $next($request);
}
/**
* Clean the request's data.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function clean($request)
{
$this->cleanParameterBag($request->query);
if ($request->isJson()) {
$this->cleanParameterBag($request->json());
} else {
$this->cleanParameterBag($request->request);
}
}
/**
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->container->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#488 …5}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php
*
* @var array
*/
protected $attributes = [];
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param array ...$attributes
* @return mixed
*/
public function handle($request, Closure $next, ...$attributes)
{
$this->attributes = $attributes;
$this->clean($request);
return $next($request);
}
/**
* Clean the request's data.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function clean($request)
{
$this->cleanParameterBag($request->query);
if ($request->isJson()) {
$this->cleanParameterBag($request->json());
} else {
$this->cleanParameterBag($request->request);
}
}
/**
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->container->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#489 …5}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->container->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#490 …5}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->container->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#491 …5}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
public function via($method)
{
$this->method = $method;
return $this;
}
/**
* Run the pipeline with a final destination callback.
*
* @param \Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
);
return $pipeline($this->passable);
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
return $destination($passable);
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
Arguments
Request {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/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) {#25 …4}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/sheng_xin_ren_v2/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 {#45
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#530 …5}
#routeResolver: Closure() {#534 …5}
+attributes: ParameterBag {#47}
+request: ParameterBag {#53}
+query: ParameterBag {#53}
+server: ServerBag {#49}
+files: FileBag {#50}
+cookies: ParameterBag {#48}
+headers: HeaderBag {#51}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/article/47"
#requestUri: "/article/47"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#525}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}