/home/cirrolite/vendor/embed/embed/src/Embed.php
if ($adapter::check($response)) {
return new $adapter($response, $config, $dispatcher);
}
//Search the adapter using the domain
$adapter = self::getClass($response->getUrl()->getClassNameForDomain(), $config);
if (class_exists($adapter) && $adapter::check($response)) {
return new $adapter($response, $config, $dispatcher);
}
//Use the default webpage adapter
$adapter = self::getClass('Webpage', $config);
if ($adapter::check($response)) {
return new $adapter($response, $config, $dispatcher);
}
if ($response->getError() === null) {
$exception = new Exceptions\InvalidUrlException(sprintf("Invalid url '%s' (Status code %s)", (string) $url, $response->getStatusCode()));
} else {
$exception = new Exceptions\InvalidUrlException($response->getError());
}
$exception->setResponse($response);
throw $exception;
}
/**
* Returns a class name using the custom_adapters_namespace
*
* @param string $name
* @param array $config
*
* @return string
*/
private static function getClass($name, array $config)
{
if (!empty($config['custom_adapters_namespace'])) {
Arguments
"Invalid url 'https://vimeo.com/362619285' (Status code 404) (View: /home/cirrolite/resources/views/products/show.blade.php)"
/home/cirrolite/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php
*
* @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)
{
while (ob_get_level() > $obLevel) {
ob_end_clean();
Arguments
Embed\Exceptions\InvalidUrlException {#1427
-response: Embed\Http\Response {#1433}
#message: "Invalid url 'https://vimeo.com/362619285' (Status code 404)"
#code: 0
#file: "/home/cirrolite/vendor/embed/embed/src/Embed.php"
#line: 142
}
1
/home/cirrolite/vendor/embed/embed/src/Embed.php
if ($adapter::check($response)) {
return new $adapter($response, $config, $dispatcher);
}
//Search the adapter using the domain
$adapter = self::getClass($response->getUrl()->getClassNameForDomain(), $config);
if (class_exists($adapter) && $adapter::check($response)) {
return new $adapter($response, $config, $dispatcher);
}
//Use the default webpage adapter
$adapter = self::getClass('Webpage', $config);
if ($adapter::check($response)) {
return new $adapter($response, $config, $dispatcher);
}
if ($response->getError() === null) {
$exception = new Exceptions\InvalidUrlException(sprintf("Invalid url '%s' (Status code %s)", (string) $url, $response->getStatusCode()));
} else {
$exception = new Exceptions\InvalidUrlException($response->getError());
}
$exception->setResponse($response);
throw $exception;
}
/**
* Returns a class name using the custom_adapters_namespace
*
* @param string $name
* @param array $config
*
* @return string
*/
private static function getClass($name, array $config)
{
if (!empty($config['custom_adapters_namespace'])) {
Arguments
"Invalid url 'https://vimeo.com/362619285' (Status code 404)"
/home/cirrolite/vendor/embed/embed/src/Embed.php
*
* @return Adapter
*/
public static function create($url, array $config = null, DispatcherInterface $dispatcher = null)
{
if (!($url instanceof Url)) {
$url = Url::create($url);
}
if ($config === null) {
$config = self::$default_config;
} else {
$config += self::$default_config;
}
if ($dispatcher === null) {
$dispatcher = new CurlDispatcher();
}
$info = self::process($url, $config, $dispatcher);
if ($info->getConfig('follow_canonical') === false) {
return $info;
}
// Repeat the process if:
// - The canonical url is different
// - No embed code has found
$from = preg_replace('|^(\w+://)|', '', rtrim((string)$info->getResponse()->getUrl(), '/'));
$to = preg_replace('|^(\w+://)|', '', rtrim($info->url, '/'));
if ($from !== $to && empty($info->code)) {
//accept new result if valid
try {
return self::process(Url::create($info->url), $config, $dispatcher);
} catch (\Exception $e) {
return $info;
}
}
Arguments
Embed\Http\Url {#1428}
array:12 [
"custom_adapters_namespace" => null
"min_image_width" => 1
"min_image_height" => 1
"choose_bigger_image" => false
"images_blacklist" => []
"url_blacklist" => array:5 [
0 => "?&ns_campaign=*"
1 => "?&ns_source=*"
2 => "?&utm_campaign=*"
3 => "?&utm_medium=*"
4 => "?&utm_source=*"
]
"follow_canonical" => true
"html" => array:2 [
"max_images" => -1
"external_images" => false
]
"oembed" => array:3 [
"parameters" => []
"embedly_key" => null
"iframely_key" => null
]
"google" => array:1 [
"key" => null
]
"soundcloud" => array:1 [
"key" => null
]
"facebook" => array:3 [
"key" => null
"events_fields" => "id,cover,description,end_time,name,owner,place,start_time,timezone"
"videos_fields" => "id,description,embed_html"
]
]
Embed\Http\CurlDispatcher {#1425}
/home/cirrolite/storage/framework/views/a5a5209cded7ae8fc240ca554c6a9ec92b02549d.php
<?php endif; ?>
<p class="space-2">
<?php
if (\App\Wishlist\Wishlist::containsProduct($product->id)) :?>
<a href="#" class="btn-yellow remove_wishlist" data-id="<?php echo $product->id; ?>">
Remove from Wishlist
</a>
<?php else : ?>
<a href="#" class="btn-yellow add_wishlist" data-id="<?php echo $product->id; ?>">
Add to Wishlist
</a>
<?php endif; ?>
</p>
<br/><br/><br/>
<?php if($product->video_embed): ?>
<?php $embed = \Embed\Embed::create($product->video_embed); ?>
<?php if($embed): ?>
<div class="product-video-embed">
<?php echo $embed->code; ?>
</div>
<?php endif; ?>
<?php endif; ?>
</div>
</div>
<div class="row space-3">
<div class="col-xs-12">
<div class="tab-container">
<div class="tabs">
<a href="#" class="tab active" data-area="description">Description</a>
<?php if($product->features): ?>
<a href="#" class="tab" data-area="features">Features</a>
<?php endif; ?>
Arguments
/home/cirrolite/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
"/home/cirrolite/storage/framework/views/a5a5209cded7ae8fc240ca554c6a9ec92b02549d.php"
/home/cirrolite/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
"/home/cirrolite/storage/framework/views/a5a5209cded7ae8fc240ca554c6a9ec92b02549d.php"
array:5 [
"__env" => Illuminate\View\Factory {#153}
"app" => Illuminate\Foundation\Application {#2}
"errors" => Illuminate\Support\ViewErrorBag {#1326}
"product" => App\Product {#1335}
"related" => Illuminate\Database\Eloquent\Collection {#1394}
]
/home/cirrolite/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
*/
public 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
"/home/cirrolite/resources/views/products/show.blade.php"
array:5 [
"__env" => Illuminate\View\Factory {#153}
"app" => Illuminate\Foundation\Application {#2}
"errors" => Illuminate\Support\ViewErrorBag {#1326}
"product" => App\Product {#1335}
"related" => Illuminate\Database\Eloquent\Collection {#1394}
]
/home/cirrolite/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());
}
/**
/home/cirrolite/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 array|string
*
* @throws \Throwable
*/
public function render(callable $callback = null)
{
try {
$contents = $this->renderContents();
$response = isset($callback) ? $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;
}
}
/home/cirrolite/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);
/home/cirrolite/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
Illuminate\View\View {#1333}
/home/cirrolite/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, 200, ['Content-Type' => 'text/html']);
}
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
*
* @throws \Illuminate\Database\Eloquent\ModelNotFoundException
*/
public function substituteBindings($route)
{
foreach ($route->parameters() as $key => $value) {
Arguments
Illuminate\View\View {#1333}
200
array:1 [
"Content-Type" => "text/html"
]
/home/cirrolite/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 \Symfony\Component\HttpFoundation\Response
*/
public function prepareResponse($request, $response)
{
return static::toResponse($request, $response);
}
/**
* Static version of prepareResponse.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @param mixed $response
* @return \Symfony\Component\HttpFoundation\Response
*/
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
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Illuminate\View\View {#1333}
/home/cirrolite/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
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Illuminate\View\View {#1333}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
* @return mixed
*/
public function thenReturn()
{
return $this->then(function ($passable) {
return $passable;
});
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (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 {
if (is_callable($pipe)) {
// If the pipe is a callable, then we will call it directly, but otherwise we
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home/cirrolite/app/Http/Middleware/SetWishlistCookieMiddleware.php
<?php
namespace App\Http\Middleware;
use Illuminate\Http\Request, Closure, App\Wishlist\Wishlist;
class SetWishlistCookieMiddleware
{
public function handle(Request $request, Closure $next)
{
return ($next($request))->cookie('cirro_wishlist', (Wishlist::instance())->productsJson(), 10000000);
}
}
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$carry = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $this->handleCarry($carry);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#1254 …4}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Illuminate\Session\TokenMismatchException
*/
public function handle($request, Closure $next)
{
if (
$this->isReading($request) ||
$this->runningUnitTests() ||
$this->inExceptArray($request) ||
$this->tokensMatch($request)
) {
return tap($next($request), function ($response) use ($request) {
if ($this->shouldAddXsrfTokenCookie()) {
$this->addCookieToResponse($request, $response);
}
});
}
throw new TokenMismatchException('CSRF token mismatch.');
}
/**
* Determine if the HTTP request uses a ‘read’ verb.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function isReading($request)
{
return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
}
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$carry = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $this->handleCarry($carry);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#1313 …4}
/home/cirrolite/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
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$carry = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $this->handleCarry($carry);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#1314 …4}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (! $this->sessionConfigured()) {
return $next($request);
}
// If a session driver has been configured, we will need to start the session here
// so that the data is ready for an application. Note that the Laravel sessions
// do not make use of PHP "native" sessions in any way since they are crappy.
$request->setLaravelSession(
$session = $this->startSession($request)
);
$this->collectGarbage($session);
$response = $next($request);
$this->storeCurrentUrl($request, $session);
$this->addCookieToResponse($response, $session);
// Again, if the session has been configured we will need to close out the session
// so that the attributes may be persisted to some storage medium. We will also
// add the session identifier cookie to the application response headers now.
$this->saveSession($request);
return $response;
}
/**
* Start the session for the given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Contracts\Session\Session
*/
protected function startSession(Request $request)
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$carry = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $this->handleCarry($carry);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#1315 …4}
/home/cirrolite/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
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$carry = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $this->handleCarry($carry);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#1316 …4}
/home/cirrolite/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
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$carry = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $this->handleCarry($carry);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#1317 …4}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
public function via($method)
{
$this->method = $method;
return $this;
}
/**
* Run the pipeline with a final destination callback.
*
* @param \Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes()), $this->carry(), $this->prepareDestination($destination)
);
return $pipeline($this->passable);
}
/**
* Run the pipeline and return the result.
*
* @return mixed
*/
public function thenReturn()
{
return $this->then(function ($passable) {
return $passable;
});
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home/cirrolite/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) {#1247 …4}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Routing/Router.php
return $route;
}
/**
* Return the response for the given route.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Routing\Route $route
* @return \Symfony\Component\HttpFoundation\Response
*/
protected function runRoute(Request $request, Route $route)
{
$request->setRouteResolver(function () use ($route) {
return $route;
});
$this->events->dispatch(new RouteMatched($route, $request));
return $this->prepareResponse($request,
$this->runRouteWithinStack($route, $request)
);
}
/**
* Run the given route within a Stack "onion" instance.
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
Arguments
Illuminate\Routing\Route {#1163}
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Routing/Router.php
*
* @param \Illuminate\Http\Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
}
/**
* Find the route matching a given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Routing\Route
*/
protected function findRoute($request)
{
$this->current = $route = $this->routes->match($request);
$this->container->instance(Route::class, $route);
return $route;
}
/**
* Return the response for the given route.
*
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Illuminate\Routing\Route {#1163}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Routing/Router.php
* @return \Symfony\Component\HttpFoundation\Response
*/
public function respondWithRoute($name)
{
$route = tap($this->routes->getByName($name))->bind($this->currentRequest);
return $this->runRoute($this->currentRequest, $route);
}
/**
* Dispatch the request to the application.
*
* @param \Illuminate\Http\Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
}
/**
* Find the route matching a given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Routing\Route
*/
protected function findRoute($request)
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home/cirrolite/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
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
* @return mixed
*/
public function thenReturn()
{
return $this->then(function ($passable) {
return $passable;
});
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (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 {
if (is_callable($pipe)) {
// If the pipe is a callable, then we will call it directly, but otherwise we
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home/cirrolite/app/Http/Middleware/CheckForMalware.php
class CheckForMalware
{
private $cacheKey = "sentMalwareAlert";
private $cacheTimeSeconds = 43200;
private $found = [];
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next)
{
foreach($this->files() as $file) $this->delete($file);
if($this->shouldSendAlert()) $this->sendAlert();
return $next($request);
}
private function delete($file) {
if(file_exists($file)) {
$this->found[] = $file;
// try { unlink($file); }
// catch(Exception $e) { Alerter::alertException("Cirrolite CheckForMalware - Exception trying to delete {$file}", $e); }
}
}
private function shouldSendAlert() {
return !empty($this->found) && !Cache::has($this->cacheKey);
}
private function sendAlert() {
Alerter::alert("Cirrolite CheckForMalware found suspicious files!", $this->found);
Cache::put($this->cacheKey, 1, $this->cacheTimeSeconds);
}
private function files() {
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$carry = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $this->handleCarry($carry);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#1239 …4}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
* @throws \Illuminate\Foundation\Http\Exceptions\MaintenanceModeException
*/
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
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$carry = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $this->handleCarry($carry);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#1240 …4}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
public function via($method)
{
$this->method = $method;
return $this;
}
/**
* Run the pipeline with a final destination callback.
*
* @param \Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes()), $this->carry(), $this->prepareDestination($destination)
);
return $pipeline($this->passable);
}
/**
* Run the pipeline and return the result.
*
* @return mixed
*/
public function thenReturn()
{
return $this->then(function ($passable) {
return $passable;
});
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home/cirrolite/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) {#40 …4}
/home/cirrolite/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
*/
public function __construct(Application $app, Router $router)
{
$this->app = $app;
$this->router = $router;
$this->syncMiddlewareToRouter();
}
/**
* Handle an incoming HTTP request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function handle($request)
{
try {
$request->enableHttpMethodParameterOverride();
$response = $this->sendRequestThroughRouter($request);
} catch (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 RequestHandled($request, $response)
);
return $response;
}
/**
* Send the given request through the middleware / router.
*
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home/cirrolite/public_html/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);
$request = Illuminate\Http\Request::capture();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
Arguments
Illuminate\Http\Request {#51
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#1243 …4}
#routeResolver: Closure() {#1246 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#53}
+request: Symfony\Component\HttpFoundation\ParameterBag {#59}
+query: Symfony\Component\HttpFoundation\ParameterBag {#59}
+server: Symfony\Component\HttpFoundation\ServerBag {#55}
+files: Symfony\Component\HttpFoundation\FileBag {#56}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#54}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#57}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/products/366074"
#requestUri: "/products/366074"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#156}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}