Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
No message Symfony\Component\HttpKernel\Exception\NotFoundHttpException thrown with message "" Stacktrace: #24 Symfony\Component\HttpKernel\Exception\NotFoundHttpException in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:1144 #23 Illuminate\Foundation\Application:abort in /var/www/html/Http/Frontend/Controllers/HolidayListController.php:20 #22 Http\Frontend\Controllers\HolidayListController:holidayType in /var/www/html/Http/Frontend/FrontendModule.php:139 #21 Http\Frontend\FrontendModule:{closure:Http\Frontend\FrontendModule::registerRoutes():130} in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php:40 #20 Illuminate\Routing\CallableDispatcher:dispatch in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Routing/Route.php:237 #19 Illuminate\Routing\Route:runCallable in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Routing/Route.php:208 #18 Illuminate\Routing\Route:run in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Routing/Router.php:798 #17 Illuminate\Routing\Router:{closure:Illuminate\Routing\Router::runRouteWithinStack():797} in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:141 #16 Illuminate\Pipeline\Pipeline:{closure:Illuminate\Pipeline\Pipeline::prepareDestination():139} in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:116 #15 Illuminate\Pipeline\Pipeline:then in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Routing/Router.php:797 #14 Illuminate\Routing\Router:runRouteWithinStack in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Routing/Router.php:776 #13 Illuminate\Routing\Router:runRoute in /var/www/html/fabric/src/Fabric/Routing/Router.php:71 #12 Fabric\Routing\Router:dispatchToRoute in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Routing/Router.php:729 #11 Illuminate\Routing\Router:dispatch in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:190 #10 Illuminate\Foundation\Http\Kernel:{closure:Illuminate\Foundation\Http\Kernel::dispatchToRouter():187} in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:141 #9 Illuminate\Pipeline\Pipeline:{closure:Illuminate\Pipeline\Pipeline::prepareDestination():139} in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:121 #8 Illuminate\Session\Middleware\StartSession:handleStatefulRequest in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 #7 Illuminate\Session\Middleware\StartSession:handle in /var/www/html/fabric/src/Fabric/Session/Middleware/StartSession.php:12 #6 Fabric\Session\Middleware\StartSession:handle in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180 #5 Illuminate\Pipeline\Pipeline:{closure:{closure:Illuminate\Pipeline\Pipeline::carry():155}:156} in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 #4 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse:handle in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180 #3 Illuminate\Pipeline\Pipeline:{closure:{closure:Illuminate\Pipeline\Pipeline::carry():155}:156} in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:116 #2 Illuminate\Pipeline\Pipeline:then in /var/www/html/fabric/src/Fabric/Foundation/Http/Kernel.php:103 #1 Fabric\Foundation\Http\Kernel:sendRequestThroughRouter in /var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:134 #0 Illuminate\Foundation\Http\Kernel:handle in /var/www/html/public/index.php:26
Stack frames (25)
24
Symfony\Component\HttpKernel\Exception\NotFoundHttpException
/vendor/laravel/framework/src/Illuminate/Foundation/Application.php1144
23
Illuminate\Foundation\Application abort
/var/www/html/Http/Frontend/Controllers/HolidayListController.php20
22
Http\Frontend\Controllers\HolidayListController holidayType
/var/www/html/Http/Frontend/FrontendModule.php139
21
Http\Frontend\FrontendModule {closure:Http\Frontend\FrontendModule::registerRoutes():130}
/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php40
20
Illuminate\Routing\CallableDispatcher dispatch
/vendor/laravel/framework/src/Illuminate/Routing/Route.php237
19
Illuminate\Routing\Route runCallable
/vendor/laravel/framework/src/Illuminate/Routing/Route.php208
18
Illuminate\Routing\Route run
/vendor/laravel/framework/src/Illuminate/Routing/Router.php798
17
Illuminate\Routing\Router {closure:Illuminate\Routing\Router::runRouteWithinStack():797}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php141
16
Illuminate\Pipeline\Pipeline {closure:Illuminate\Pipeline\Pipeline::prepareDestination():139}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php116
15
Illuminate\Pipeline\Pipeline then
/vendor/laravel/framework/src/Illuminate/Routing/Router.php797
14
Illuminate\Routing\Router runRouteWithinStack
/vendor/laravel/framework/src/Illuminate/Routing/Router.php776
13
Illuminate\Routing\Router runRoute
/Fabric/Routing/Router.php71
12
Fabric\Routing\Router dispatchToRoute
/vendor/laravel/framework/src/Illuminate/Routing/Router.php729
11
Illuminate\Routing\Router dispatch
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php190
10
Illuminate\Foundation\Http\Kernel {closure:Illuminate\Foundation\Http\Kernel::dispatchToRouter():187}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php141
9
Illuminate\Pipeline\Pipeline {closure:Illuminate\Pipeline\Pipeline::prepareDestination():139}
/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php121
8
Illuminate\Session\Middleware\StartSession handleStatefulRequest
/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php64
7
Illuminate\Session\Middleware\StartSession handle
/Fabric/Session/Middleware/StartSession.php12
6
Fabric\Session\Middleware\StartSession handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php180
5
Illuminate\Pipeline\Pipeline {closure:{closure:Illuminate\Pipeline\Pipeline::carry():155}:156}
/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php37
4
Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php180
3
Illuminate\Pipeline\Pipeline {closure:{closure:Illuminate\Pipeline\Pipeline::carry():155}:156}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php116
2
Illuminate\Pipeline\Pipeline then
/Fabric/Foundation/Http/Kernel.php103
1
Fabric\Foundation\Http\Kernel sendRequestThroughRouter
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php134
0
Illuminate\Foundation\Http\Kernel handle
/var/www/html/public/index.php26
/var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Foundation/Application.php
    public function isDownForMaintenance()
    {
        return $this->maintenanceMode()->active();
    }
 
    /**
     * Throw an HttpException with the given data.
     *
     * @param  int  $code
     * @param  string  $message
     * @param  array  $headers
     * @return never
     *
     * @throws \Symfony\Component\HttpKernel\Exception\HttpException
     * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
     */
    public function abort($code, $message = '', array $headers = [])
    {
        if ($code == 404) {
            throw new NotFoundHttpException($message);
        }
 
        throw new HttpException($code, $message, null, $headers);
    }
 
    /**
     * Register a terminating callback with the application.
     *
     * @param  callable|string  $callback
     * @return $this
     */
    public function terminating($callback)
    {
        $this->terminatingCallbacks[] = $callback;
 
        return $this;
    }
 
    /**
     * Terminate the application.
Arguments
  1. ""
    
/var/www/html/Http/Frontend/Controllers/HolidayListController.php
<?php namespace Http\Frontend\Controllers;

use App\Theme\JA\Blocks\GolfHoliday\GolfHolidayListType;
use App\Theme\JA\Blocks\GolfHoliday\GolfHolidayListLocation;
use Fabric\Resource\Media\Media;
use Fabric\Resource\Term\Term;
use Http\Frontend\Pages\HolidayList;

Class HolidayListController
{
    public function holidayType(string $slug, HolidayList $page)
    {
        /**
         * @var $term Term
         */
        $term = Term::findTaxonomyTermBySlug('holiday', 'holiday_type', $slug);

        if (!$term->exists())
        {
            app()->abort(404);
        }

        if (!$term->exists())
        {
            app()->abort(404);
        }

        if ($featuredImage = $term->getAttributeValue('featured_image')?->getAttributeValue())
        {
            $page->setAttribute('featuredImage', Media::findById($featuredImage));
        }
        else
        {
            $page->setAttribute('featuredImage', new Media());
        }

        $page->setAttribute('title', $term->getName());
        $page->setAttribute('description',
            $term->getAttributeValue('description')?->getAttributeValue()
        );
/var/www/html/Http/Frontend/FrontendModule.php
        $this->registerGolfHolidayRoutes($router);
        $this->registerGolfSchoolRoutes($router);

        $router->any('/page/{slug}', [
            'as' => 'page',
            'uses' => 'PageController@page'
        ]);

        if (isset($type))
        {
            $router->any('{slug}', function ($slug) use($type)
            {
                if ($type == 'golf_holidays')
                {
                    /**
                     * @var $controller HolidayListController
                     */
                    $controller = app(HolidayListController::class);

                    return $controller->holidayType(
                        $slug,
                        app(HolidayList::class)
                    );
                }

                if ($type == 'golf_school')
                {
                    /**
                     * @var $controller PageController
                     */
                    $controller = app(PageController::class);

                    return $controller->school(
                        $slug,
                        app(SchoolPage::class)
                    );
                }
            });
        }
    }
/var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php
     * Create a new callable dispatcher instance.
     *
     * @param  \Illuminate\Container\Container  $container
     * @return void
     */
    public function __construct(Container $container)
    {
        $this->container = $container;
    }
 
    /**
     * Dispatch a request to a given callable.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  callable  $callable
     * @return mixed
     */
    public function dispatch(Route $route, $callable)
    {
        return $callable(...array_values($this->resolveParameters($route, $callable)));
    }
 
    /**
     * Resolve the parameters for the callable.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  callable  $callable
     * @return array
     */
    protected function resolveParameters(Route $route, $callable)
    {
        return $this->resolveMethodDependencies($route->parametersWithoutNulls(), new ReflectionFunction($callable));
    }
}
 
/var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Routing/Route.php
     */
    protected function isControllerAction()
    {
        return is_string($this->action['uses']) && ! $this->isSerializedClosure();
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     */
    protected function runCallable()
    {
        $callable = $this->action['uses'];
 
        if ($this->isSerializedClosure()) {
            $callable = unserialize($this->action['uses'])->getClosure();
        }
 
        return $this->container[CallableDispatcher::class]->dispatch($this, $callable);
    }
 
    /**
     * Determine if the route action is a serialized Closure.
     *
     * @return bool
     */
    protected function isSerializedClosure()
    {
        return RouteAction::containsSerializedClosure($this->action);
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     *
     * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
     */
    protected function runController()
/var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Routing/Route.php
    protected function parseAction($action)
    {
        return RouteAction::parse($this->uri, $action);
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     */
    public function run()
    {
        $this->container = $this->container ?: new Container;
 
        try {
            if ($this->isControllerAction()) {
                return $this->runController();
            }
 
            return $this->runCallable();
        } catch (HttpResponseException $e) {
            return $e->getResponse();
        }
    }
 
    /**
     * Checks whether the route's action is a controller.
     *
     * @return bool
     */
    protected function isControllerAction()
    {
        return is_string($this->action['uses']) && ! $this->isSerializedClosure();
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     */
/var/www/html/fabric/src/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(fn ($request) => $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)
    {
        return $this->resolveMiddleware($route->gatherMiddleware(), $route->excludedMiddleware());
    }
 
    /**
     * Resolve a flat array of middleware classes from the provided array.
     *
     * @param  array  $middleware
     * @param  array  $excluded
     * @return array
/var/www/html/fabric/src/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 (Throwable $e) {
                return $this->handleException($passable, $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
                        // will resolve the pipes out of the dependency container and call it with
                        // the appropriate method and arguments, returning the results back out.
/var/www/html/fabric/src/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
     */
/var/www/html/fabric/src/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(fn ($request) => $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)
    {
        return $this->resolveMiddleware($route->gatherMiddleware(), $route->excludedMiddleware());
    }
 
    /**
     * Resolve a flat array of middleware classes from the provided array.
     *
     * @param  array  $middleware
     * @param  array  $excluded
/var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Routing/Router.php
        $this->container->instance(Route::class, $route);
 
        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(fn () => $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)
/var/www/html/fabric/src/Fabric/Routing/Router.php
        // merge in the group's attributes when the routes are created. After we
        // have created the routes, we will pop the attributes off the stack.
        $this->loadRoutes($routes);

        array_pop($this->groupStack);
    }

    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    public function dispatchToRoute(Request $request)
    {
        $route = $this->findRoute($request);
        
        app('events')->fire('route', [$route, $request]);

        return $this->runRoute($request, $route);
    }

    /**
     * @param string $uri
     * @param null $action
     * @return Route
     */
    public function get($uri, $action = null) : Route
    {
        return parent::get($uri, $action);
    }

    /**
     * @param string $uri
     * @param null $action
     * @return Route
     */
    public function post($uri, $action = null) : Route
    {
        return parent::post($uri, $action);
/var/www/html/fabric/src/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)
/var/www/html/fabric/src/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();
 
        foreach ($this->requestLifecycleDurationHandlers as ['threshold' => $threshold, 'handler' => $handler]) {
            $end ??= Carbon::now();
 
            if ($this->requestStartedAt->diffInMilliseconds($end) > $threshold) {
/var/www/html/fabric/src/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 (Throwable $e) {
                return $this->handleException($passable, $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
                        // will resolve the pipes out of the dependency container and call it with
                        // the appropriate method and arguments, returning the results back out.
/var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
    /**
     * Handle the given request within session state.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Contracts\Session\Session  $session
     * @param  \Closure  $next
     * @return mixed
     */
    protected function handleStatefulRequest(Request $request, $session, Closure $next)
    {
        // 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(
            $this->startSession($request, $session)
        );
 
        $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
     * @param  \Illuminate\Contracts\Session\Session  $session
     * @return \Illuminate\Contracts\Session\Session
     */
/var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (! $this->sessionConfigured()) {
            return $next($request);
        }
 
        $session = $this->getSession($request);
 
        if ($this->manager->shouldBlock() ||
            ($request->route() instanceof Route && $request->route()->locksFor())) {
            return $this->handleRequestWhileBlocking($request, $session, $next);
        }
 
        return $this->handleStatefulRequest($request, $session, $next);
    }
 
    /**
     * Handle the given request within session state.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Contracts\Session\Session  $session
     * @param  \Closure  $next
     * @return mixed
     */
    protected function handleRequestWhileBlocking(Request $request, $session, Closure $next)
    {
        if (! $request->route() instanceof Route) {
            return;
        }
 
        $lockFor = $request->route() && $request->route()->locksFor()
                        ? $request->route()->locksFor()
                        : 10;
 
/var/www/html/fabric/src/Fabric/Session/Middleware/StartSession.php
<?php namespace Fabric\Session\Middleware;

use Closure;
use Illuminate\Session\Middleware\StartSession as BaseStartSession;

Class StartSession extends BaseStartSession
{
    public function handle($request, Closure $next)
    {
        if (app('filters')->run('start_session', true, $request))
        {
            return parent::handle($request, $next);
        }
        
        return $next($request);
    }
}
 
/var/www/html/fabric/src/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 (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/fabric/src/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;
    }
}
 
/var/www/html/fabric/src/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 (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/fabric/src/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
     */
/var/www/html/fabric/src/Fabric/Foundation/Http/Kernel.php

        return $this;
    }

    /**
     * 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);
        
        $this->bootstrap();

        return (new Pipeline($this->app))
            ->send($request)
            ->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
            ->then($this->dispatchToRouter());
    }
}
 
/var/www/html/fabric/src/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
        $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)
    {
        $this->requestStartedAt = Carbon::now();
 
        try {
            $request->enableHttpMethodParameterOverride();
 
            $response = $this->sendRequestThroughRouter($request);
        } catch (Throwable $e) {
            $this->reportException($e);
 
            $response = $this->renderException($request, $e);
        }
 
        $this->app['events']->dispatch(
            new RequestHandled($request, $response)
        );
 
        return $response;
    }
 
    /**
     * Send the given request through the middleware / router.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    protected function sendRequestThroughRouter($request)
/var/www/html/public/index.php
}
 
/**
 * TEDL
 *
 * Licensed under proprietary license.
 */
 
use Fabric\Foundation\Http\Request;
 
/**
 * @var $app \Fabric\Foundation\Application
 */
$app = require __DIR__.'/../app.php';
 
$request = Request::capture();
 
$kernel = $app->kernel();
 
$response = $kernel->handle($request);
 
$app['events']->fire('kernel.handled', [
    'request' => $request,
    'response' => $response
]);
 
$response->send();
 
$kernel->terminate($request, $response);

Environment & details:

empty
empty
empty
empty
empty
Key Value
USER
"www-data"
HOME
"/var/www"
HTTP_HOST
"jamesandrewsgolf.co.uk"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_ACCEPT
"*/*"
REDIRECT_STATUS
"200"
SERVER_NAME
"jamesandrewsgolf.co.uk"
SERVER_PORT
"443"
SERVER_ADDR
"144.126.205.68"
REMOTE_USER
""
REMOTE_PORT
"17066"
REMOTE_ADDR
"216.73.216.218"
SERVER_SOFTWARE
"nginx/1.18.0"
GATEWAY_INTERFACE
"CGI/1.1"
HTTPS
"on"
REQUEST_SCHEME
"https"
SERVER_PROTOCOL
"HTTP/1.1"
DOCUMENT_ROOT
"/var/www/html/public"
DOCUMENT_URI
"/index.php"
REQUEST_URI
"/tour-classic-2-columns"
SCRIPT_NAME
"/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
""
SCRIPT_FILENAME
"/var/www/html/public/index.php"
PATH_INFO
""
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1753536503.507
REQUEST_TIME
1753536503
APP_ENV
"testing"
DB_DRIVER
"mysql"
DB_HOST
"localhost"
DB_NAME
"golf"
DB_USERNAME
"golf"
DB_PASSWORD
"5dff79568ac5a324c446cdb3e7c43bd402c00e7f0adecc39"
SESSION_DOMAIN
"jamesandrewsgolf.co.uk"
SESSION_SECURE
""
URL
"https://jamesandrewsgolf.co.uk/"
APP_KEY
"eQE4uTsb9LhIuNel"
FABRIC_PATH
"/var/www/html/fabric/src"
DEBUG
"true"
APP_DEBUG
"true"
LOG_CHANNEL
"syslog"
MAILGUN_API
"840aa7085116d757afa63234c43517aa-623424ea-742bbde8"
MAILGUN_DOMAIN
"notifications.jamesandrewsgolfschool.co.uk"
MAILGUN_REGION
"eu"
SMTP_HOST
"sandbox.smtp.mailtrap.io"
SMTP_PORT
"587"
SMTP_USERNAME
"c03ac1a639ba02"
SMTP_PASSWORD
"ffb2b6a75d360b"
RECAPTCHA_SECRET_KEY
"6LehSCcrAAAAAJPhn7kosRa9523MjWN-ZPPSqDMk"
RECAPTCHA_SITE_KEY
"6LehSCcrAAAAAB4D52C2aTlL4m3_n2mGTjCFzmIu"
Key Value
APP_ENV
"testing"
DB_DRIVER
"mysql"
DB_HOST
"localhost"
DB_NAME
"golf"
DB_USERNAME
"golf"
DB_PASSWORD
"5dff79568ac5a324c446cdb3e7c43bd402c00e7f0adecc39"
SESSION_DOMAIN
"jamesandrewsgolf.co.uk"
SESSION_SECURE
""
URL
"https://jamesandrewsgolf.co.uk/"
APP_KEY
"eQE4uTsb9LhIuNel"
FABRIC_PATH
"/var/www/html/fabric/src"
DEBUG
"true"
APP_DEBUG
"true"
LOG_CHANNEL
"syslog"
MAILGUN_API
"840aa7085116d757afa63234c43517aa-623424ea-742bbde8"
MAILGUN_DOMAIN
"notifications.jamesandrewsgolfschool.co.uk"
MAILGUN_REGION
"eu"
SMTP_HOST
"sandbox.smtp.mailtrap.io"
SMTP_PORT
"587"
SMTP_USERNAME
"c03ac1a639ba02"
SMTP_PASSWORD
"ffb2b6a75d360b"
RECAPTCHA_SECRET_KEY
"6LehSCcrAAAAAJPhn7kosRa9523MjWN-ZPPSqDMk"
RECAPTCHA_SITE_KEY
"6LehSCcrAAAAAB4D52C2aTlL4m3_n2mGTjCFzmIu"
0. Whoops\Handler\PrettyPageHandler